Skip to content

Commit c4a2ca2

Browse files
committed
Add maestro UI flow for Houdini send prototype (Proposal A)
Walks the prototype from the wallet Send button through the reorganized scene, recipient-asset picker, cross-asset XMR destination tag, Private send toggle, and both success paths (Transaction Success modal and SwapSuccessScene), capturing review screenshots along the way.
1 parent bb91540 commit c4a2ca2

1 file changed

Lines changed: 93 additions & 0 deletions

File tree

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Houdini private-send prototype walk — Proposal A (From -> To grouping).
2+
#
3+
# Logs into the funded test account, opens the Bitcoin wallet, taps Send (the
4+
# wallet Send button is routed to the prototype scene), and walks the full flow,
5+
# capturing the review screenshots. Nothing here talks to Houdini; every value
6+
# is hard-coded by HoudiniSendScene.
7+
#
8+
# Screenshots captured (under ~/.maestro/tests/<run>/ ):
9+
# houdini-a-01-scene reorganized scene: You send / Recipient gets with
10+
# Guaranteed / Estimated indicators, Recipient
11+
# receives, Private send toggle
12+
# houdini-a-02-success-modal same-asset, non-private success (Transaction
13+
# Success modal)
14+
# houdini-a-03-picker recipient-asset picker (hard-coded BTC/ETH/XMR/SOL)
15+
# houdini-a-04-destination-tag cross-asset XMR: Destination Tag row (memoNeeded)
16+
# houdini-a-05-private-on Private send on, slider in "send privately" state
17+
# houdini-a-06-swap-success cross-asset / private success (SwapSuccessScene)
18+
appId: ${APP_ID}
19+
env:
20+
APP_ID: co.edgesecure.app
21+
PIN_DIGIT: '0'
22+
tags:
23+
- houdini
24+
---
25+
- launchApp
26+
- runFlow:
27+
when:
28+
visible: 'Exit PIN'
29+
commands:
30+
- tapOn: { text: '${PIN_DIGIT}', waitToSettleTimeoutMs: 900 }
31+
- tapOn: { text: '${PIN_DIGIT}', waitToSettleTimeoutMs: 900 }
32+
- tapOn: { text: '${PIN_DIGIT}', waitToSettleTimeoutMs: 900 }
33+
- tapOn: { text: '${PIN_DIGIT}', waitToSettleTimeoutMs: 1500 }
34+
- runFlow:
35+
when:
36+
visible: 'Security is Our Priority'
37+
commands:
38+
- tapOn: 'Cancel'
39+
- runFlow:
40+
when:
41+
visible: 'How Did You Discover Edge?'
42+
commands:
43+
- tapOn: 'Dismiss'
44+
- runFlow:
45+
when:
46+
visible: 'Claim Your Web3 Handle'
47+
commands:
48+
- tapOn: 'Not Now'
49+
50+
# Open the Bitcoin wallet, then Send (routed to the prototype scene).
51+
- tapOn: 'Assets'
52+
- tapOn: 'My Bitcoin'
53+
- tapOn: 'Send'
54+
- assertVisible: 'Private Send'
55+
- takeScreenshot: houdini-a-01-scene
56+
57+
# Same-asset, non-private success: slide the SafeSlider -> Transaction Success modal.
58+
- swipe:
59+
start: 77%, 90%
60+
end: 6%, 90%
61+
duration: 1600
62+
- assertVisible: 'Transaction Success'
63+
- takeScreenshot: houdini-a-02-success-modal
64+
- tapOn: 'OK'
65+
66+
# Re-enter a fresh scene for the cross-asset / private path.
67+
- swipe: { start: 1%, 50%, end: 95%, 50%, duration: 400 }
68+
- swipe: { start: 1%, 50%, end: 95%, 50%, duration: 400 }
69+
- tapOn: 'Send'
70+
- assertVisible: 'Private Send'
71+
72+
# Recipient-asset picker (hard-coded chain list).
73+
- tapOn: 'Recipient receives'
74+
- takeScreenshot: houdini-a-03-picker
75+
- tapOn:
76+
text: 'XMR Monero.*'
77+
78+
# Cross-asset XMR shows the conditional Destination Tag row.
79+
- assertVisible: 'Destination Tag'
80+
- takeScreenshot: houdini-a-04-destination-tag
81+
82+
# Turn on Private send; the slider switches to "send privately".
83+
- swipe: { start: 50%, 75%, end: 50%, 30% }
84+
- tapOn: 'Private send'
85+
- takeScreenshot: houdini-a-05-private-on
86+
87+
# Slide -> SwapSuccessScene (cross-asset / private completion path).
88+
- swipe:
89+
start: 77%, 90%
90+
end: 6%, 90%
91+
duration: 1600
92+
- assertVisible: 'Congratulations!'
93+
- takeScreenshot: houdini-a-06-swap-success

0 commit comments

Comments
 (0)