ENGW-169 — [Overview page] — frontend test evidence

Passpoint Merchant Dashboard Rebrand '26 (ENGW-69) · TEST subtask ENGW-221

Environment: go-dev.mypasspoint.com · Tested: 15 Oct 2026 · Owner account: herbetegui@maildrop.cc (Blockage Inc.)

6Pass
1Fail
2Partial
1Blocked

Every screenshot is annotated: green = pass, red = fail. Permission-gated ACs were exercised against four real team members created on Blockage Inc. (FINANCE / OPERATIONS / SUPPORT / MEMBER), each with a server-assigned privilege set.

Role → privilege matrix (captured from the login session)
RoleuserPrivileges
OWNERall
FINANCEaccount_profile, view_balance, view_statement, view_transaction, receive_payment, audit_trail, view_sensitive_data, view_internal_statement
OPERATIONSaccount_profile, view_transaction, view_sensitive_data
SUPPORTaccount_profile, view_transaction, view_statement
MEMBERaccount_profile, view_transaction

PARTIAL AC1 — No-wallet user sees the activate-wallet banner, opens Create Wallet

Banner renders and its Create Wallet button opens the create-wallet flow (Select currency).
The AC's own precondition is unmet: the no-wallet copy ("Activate your First wallet") is gated on walletState === "no-wallet", which needs a wallet-less merchant — none available (creating one needs ops activation). So the binding is verified, the no-wallet case is not.
AC1 banner AC1 modal

PASS AC2 — Balances show, can be hidden/shown; no-balance users always masked

Owner (and FINANCE) see the NGN balance; the Hide balances eye toggle masks every wallet. OPERATIONS / SUPPORT / MEMBER (no view_balance) always see them masked.
Note: the hide/show toggle lives on the Wallet page, not on the Overview balance card, and does not persist to the Overview (see finding 2).
AC2 shown AC2 toggle AC2 masked

FAIL AC3 — Quick actions open their flow or page

4 of 5 open: Add Money, Send Money, Convert Currency (modals), Create Virtual Card (/cards?createCard=1). Create Payment Link is hardcoded disabled (disabled:!0 in the served bundle): greyed for every role including owner, aria-disabled="true", and an explicit click neither navigates nor opens a dialog.
AC3 quick actions

PASS AC4 — Send and Convert disabled without make-payment permission

Every restricted role lacks make_payment, and Send Money + Convert Currency render disabled (opacity 0.5, not-allowed). With make_payment (owner) both are enabled.
AC4 disabled

PARTIAL AC5 — Analytics chart + incoming/outgoing metrics

Total-volume chart and transaction-count metrics render; the Incoming/Outgoing direction toggle works.
The chart could not be seen populating: this account's activity is outside every period, and even Last Year still shows "No activity yet" / ₦0.00 / 0 transactions. Empty state + toggle verified; the populated incoming/outgoing series is not.
AC5 chart AC5 direction

PASS AC6 — Period defaults to last 30 days; preset or custom range

Defaults to Last 30 days. Menu offers Today, Last 7 days, Last 30 days, Last Quarter, Last Year, Year to Date, Custom Range; Custom opens a date picker with Apply/Cancel.
AC6 menu AC6 custom

PASS AC7 — Recent transactions + View All opens Transactions

Recent Transactions lists five rows in descending time order (asserted); View All Transaction navigates to /transactions.
AC7 recent AC7 page

PASS AC8 — Download Statement shows only with statement permission

SUPPORT and FINANCE (view_statement) show Account Statement; MEMBER and OPERATIONS (no view_statement) do not.
AC8 shown AC8 hidden

BLOCKED AC9 — Transaction sections hidden without view-transaction permission

No assignable role lacks view_transaction — every role (FINANCE, OPERATIONS, SUPPORT, MEMBER) has it, so the real permission state is unreachable via the Team screen. Marked blocked, per house rule.
Supporting control (simulation, not a real permission state): stripping view_transaction from the stored privileges makes Recent Transactions and View All disappear, so the frontend gate itself works.
AC9 before AC9 after

PASS AC10 — Loading, empty and error states shown, never blank

Empty: natural "No activity yet". Loading: skeletons on delayed analytics calls. Error: "Could not load activity" with "—" placeholders when the analytics call fails.
AC10 empty AC10 loading AC10 error

Findings

  1. AC3 — Create Payment Link is hardcoded disabled (disabled:!0 in the Overview bundle). It is greyed for every user, including the owner, and never opens a flow. The other four quick actions work.
  2. Observation — no hide/show control on the Overview balance card. The balance hide/show toggle exists only on the Wallet page (aria-label="Hide balances") and its state does not carry to the Overview. The Overview balance is governed solely by view_balance.
  3. Observation — the wallet banner shows for users who already have wallets. The Overview renders "Create a wallet in your favourite currency" for owners/wallets that exist; AC1's activate-first-wallet copy is conditional on walletState === "no-wallet" and could not be exercised.

Method: Playwright (real Chrome) against go-dev, real network captured, no mocked backends. Scripts under scripts/; role matrix and state captures in screenshots/*.json.