Files
1659b2133b tests(mobile): add WalletConnect connected-dApps management Maestro flows (#8286)
* docs(mobile): clarify e2e store immutability and proposal-sheet a11y comments

Note that createE2eStore state must be updated via set() (shallow-cloned initial),
and that RequestSheetHost's accessible={false} matches the app's other sheets.

* tests(mobile): add WalletConnect connected-dApps management Maestro flows

Covers WA-2325: the conditional "Connected apps" settings entry and all
three disconnect paths (3-dots menu, swipe-to-trash, dApp-initiated
session_delete), plus the cancel path and the explicit no-toast negative
assertion for the dApp-initiated case. Adds a seedWcSession harness
helper (TestCtrls: e2eWcSeedSession) so management flows start with an
approved session without replaying pairing.

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-27 16:04:48 +02:00

74 lines
1.7 KiB
YAML

appId: ${APP_ID}
tags:
- walletconnect-dapps
---
# Cancel path: open the confirm sheet via the 3-dots menu, then dismiss it
# without confirming. The shipped sheet has no Cancel button — cancellation is
# a swipe-down/backdrop dismissal. The row must survive, no toast may appear,
# and the settings count must stay at 1.
- runFlow:
file: ../../utils/setup/app-start.yml
- tapOn:
id: 'e2eWcDappsBase'
- assertVisible:
id: 'home-tab'
- tapOn:
id: 'e2eWcSeedSession'
# Open the connected-apps list.
- tapOn: 'Account, tab, 3 of 3'
- extendedWaitUntil:
visible:
id: 'settings-connected-apps-entry'
timeout: 10000
- tapOn:
id: 'settings-connected-apps-entry'
- extendedWaitUntil:
visible:
id: 'connected-dapp-row'
timeout: 10000
# Menu → Disconnect → confirm sheet opens.
- tapOn:
id: 'connected-dapp-menu-e2e-session-topic'
- extendedWaitUntil:
visible:
text: 'Disconnect'
timeout: 5000
- tapOn:
text: 'Disconnect'
- extendedWaitUntil:
visible:
id: 'disconnect-confirm-button'
timeout: 10000
# Swipe the sheet down to dismiss (cancel). Coordinate swipe from the sheet
# body past the bottom, same pattern as pair-proposal-reject.yml.
- swipe:
start: 50%, 60%
end: 50%, 95%
- waitForAnimationToEnd:
timeout: 2000
# Sheet gone, row untouched, no disconnect toast.
- assertNotVisible:
id: 'disconnect-confirm-button'
- assertVisible:
id: 'connected-dapp-row'
- assertNotVisible:
text: 'Uniswap disconnected'
# Slice unchanged: back on settings the entry still counts 1 session.
- tapOn:
id: 'go-back'
- extendedWaitUntil:
visible:
id: 'settings-connected-apps-entry'
timeout: 10000
- assertVisible:
id: 'connected-apps-count'
text: '1'