Skip to content

test: stabilize iOS staging @transfer_1 Home activity asserts - #251

Open
piotr-iohk wants to merge 2 commits into
mainfrom
cursor/e2e-transfer-1-home-activity-assert-ec67
Open

piotr-iohk wants to merge 2 commits into
mainfrom
cursor/e2e-transfer-1-home-activity-assert-ec67

Conversation

@piotr-iohk

Copy link
Copy Markdown
Collaborator

TL;DR

@transfer_1 was failing on iOS staging because the harness opened Savings to read Activity-* after each Blocktank buy. A delayed Background Payments sheet made that the wrong surface. Home ActivityShort-* already showed the transfers — assert those instead, and retry the Savings tap only while Home is actually visible.

Failing run

https://github.com/synonymdev/bitkit-ios/actions/runs/35488327247
Job: e2e-tests-staging - transfer (e2e branch main)

Attempt What happened
1 Appium session timeout (infra) — ignored
2 After the first buy settled, openTransferToSpendingtap('ActivitySavings') timed out at 30s. Screenshot: Background Payments sheet covering Home (Later / Enable).
3 Second buy completed; expectSavingsTransferRows(2) waited for Activity-1/2/3. Logs dismissed Background Payments during that wait, then sat on Home. Screenshot: Spending 300000 and two “Transfer from Savings” ActivityShort rows plus the widgets tip. QA reviewed the recording and said the product flow looked fine.

Root cause

Harness flake, not a product bug:

  1. Background Payments can appear after Home chrome is visible and cover ActivitySavings.
  2. Intermediate checks navigated via ActivitySavings + Activity-*. Dismissing the sheet (or a tap that never left Home) leaves the wallet Home list, which uses ActivityShort-*. The wait then failed on a successful transfer.

Change

test/specs/transfer.e2e.ts only:

  • After each confirm, wait for Home ActivityShort-0 / ActivityShort-1 to show Transfer and - while dismissing timed sheets. Same check after channel inspection.
  • openTransferToSpending retries the Savings tap only while both Home cards are visible, so a delayed sheet no longer burns a single 30s tap.

Coverage of “transfer rows appeared after each buy” is kept; it now matches the Home UI that already proved success. A missing transfer row still fails the wait.

Verification

  • npx eslint test/specs/transfer.e2e.ts
  • npx tsc --noEmit
  • Could not run iOS staging Appium in this environment.

Please do not merge until reviewed.

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 20, 2026 15:55
iOS staging @transfer_1 raced a delayed Background Payments sheet:
tapping ActivitySavings to read Activity-* either timed out under the
sheet or landed back on Home, where the transfers were already visible
as ActivityShort rows. Wait for those Home rows after each buy and
retry the Savings tap only while Home is actually showing.

Co-authored-by: piotr-iohk <piotr-iohk@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants