Skip to content

Tier 3 Maestro: KYC "add wallet" (link wallet) BitBox-connect flow #727

@TaprootFreak

Description

@TaprootFreak

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 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:

  • Unittest/screens/kyc/steps/link_wallet/.../kyc_link_wallet_cubit_test.dart
  • Widgettest/screens/kyc/steps/link_wallet/kyc_link_wallet_page_test.dart
  • Golden / Visual Regressionkyc_link_wallet_page_bitbox_required
  • Cross-layer integrationtest/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.

Why this is its own task (and partly blocked)

A Maestro flow for this path requires:

  1. Authenticated KYC state so getRegistrationInfo routes the wallet to AddWallet (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).
  2. 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 …").
  • Asserts that tapping "Wallet hinzufügen" with no BitBox connected opens the connect sheet (regression guard for the bug fix(kyc): open BitBox connect sheet when linking shareholder wallet #720 fixed) — not a red error.
  • (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.

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttier3:fullOpt-in: run Tier 3 Maestro handbook flows on this PR

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions