You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #720 fixed the dead-end in the KYC "add wallet" step (link_wallet): when a registered shareholder confirms their wallet without a connected BitBox, the app now opens the shared ConnectBitboxPage sheet and retries registration once the device is linked, instead of surfacing a BitBox is not connected error.
That PR ships the full automatable test pyramid for the feature:
Unit — test/screens/kyc/steps/link_wallet/.../kyc_link_wallet_cubit_test.dart
Golden / Visual Regression — kyc_link_wallet_page_bitbox_required
Cross-layer integration — test/integration/link_wallet_connect_flow_test.dart (real cubit + real RealUnitRegistrationService + real Eip712Signer + faked device/HTTP boundaries)
The one test type still missing is a Maestro E2E flow that drives the real app UI through the add-wallet path. This is intentionally out of scope for #720 — it needs orchestration that the handbook flows don't currently have.
A BitBox available to the flow (real device or the bitbox_flutter simulator wired into the E2E harness) to actually complete the connect ceremony from the sheet.
Neither exists in the current .maestro/handbook/ flows, which are deterministic, unauthenticated UI screens.
Scope / acceptance criteria
A .maestro/ flow that navigates to the add-wallet confirm screen ("Sie sind als Aktionär eingetragen …").
(Stretch) Drives the connect to completion (real or simulated BitBox) and asserts the flow advances past registration.
Wired into the Tier 3 — Handbook flows CI job.
Already covered below the UI
The orchestration and state logic are fully tested by the suites listed above (incl. the end-to-end reconnect path: Submitting → BitboxRequired → Submitting → Success). This issue is purely about the UI-level E2E layer.
Context
PR #720 fixed the dead-end in the KYC "add wallet" step (
link_wallet): when a registered shareholder confirms their wallet without a connected BitBox, the app now opens the sharedConnectBitboxPagesheet and retries registration once the device is linked, instead of surfacing aBitBox is not connectederror.That PR ships the full automatable test pyramid for the feature:
test/screens/kyc/steps/link_wallet/.../kyc_link_wallet_cubit_test.darttest/screens/kyc/steps/link_wallet/kyc_link_wallet_page_test.dartkyc_link_wallet_page_bitbox_requiredtest/integration/link_wallet_connect_flow_test.dart(real cubit + realRealUnitRegistrationService+ realEip712Signer+ faked device/HTTP boundaries)The one test type still missing is a Maestro E2E flow that drives the real app UI through the add-wallet path. This is intentionally out of scope for #720 — it needs orchestration that the handbook flows don't currently have.
Why this is its own task (and partly blocked)
A Maestro flow for this path requires:
getRegistrationInforoutes the wallet toAddWallet(i.e. the backend must already see this wallet as a registered shareholder). → depends on Maestro auth bootstrap: pick a mechanism for authenticated KYC/Buy/Sell flows #553 (Maestro auth bootstrap for authenticated KYC/Buy/Sell flows).bitbox_fluttersimulator wired into the E2E harness) to actually complete the connect ceremony from the sheet.Neither exists in the current
.maestro/handbook/flows, which are deterministic, unauthenticated UI screens.Scope / acceptance criteria
.maestro/flow that navigates to the add-wallet confirm screen ("Sie sind als Aktionär eingetragen …").Already covered below the UI
The orchestration and state logic are fully tested by the suites listed above (incl. the end-to-end reconnect path:
Submitting → BitboxRequired → Submitting → Success). This issue is purely about the UI-level E2E layer.Links