@@ -2,11 +2,11 @@ import { expect, Page, test } from "@playwright/test";
2
2
3
3
const routes = [
4
4
"/" ,
5
- "/activity" ,
6
5
"/feedback" ,
7
6
"/gift" ,
8
7
"/receive" ,
9
8
"/scanner" ,
9
+ "/search" ,
10
10
"/send" ,
11
11
"/swap" ,
12
12
"/settings"
@@ -58,24 +58,29 @@ test.beforeEach(async ({ page }) => {
58
58
59
59
test ( "visit each route" , async ( { page } ) => {
60
60
// Start on the home page
61
- // Expect a title "to contain" a substring.
62
61
await expect ( page ) . toHaveTitle ( / M u t i n y W a l l e t / ) ;
63
-
64
- // Wait for an element matching the selector to appear in DOM.
65
- await page . waitForSelector ( "text=0 SATS" ) ;
66
-
67
- console . log ( "Page loaded." ) ;
62
+ await page . waitForSelector ( "text=Welcome to the Mutiny!" ) ;
68
63
69
64
// Wait for a while just to make sure we can load everything
70
65
await page . waitForTimeout ( 1000 ) ;
71
66
67
+ console . log ( "Waiting for new wallet to be created..." ) ;
68
+
69
+ await page . locator ( `button:has-text('New Wallet')` ) . click ( ) ;
70
+
71
+ await page . locator ( "text=Create your profile" ) . first ( ) ;
72
+
73
+ await page . locator ( "button:has-text('Skip for now')" ) . click ( ) ;
74
+
72
75
checklist . set ( "/" , true ) ;
73
76
74
- await checkRoute ( page , "/activity" , "Activity" , checklist ) ;
75
- await page . goBack ( ) ;
77
+ // Should have a balance up top now
78
+ await page . locator ( `text=0 sats` ) . first ( ) ;
76
79
77
- // Navigate to settings
78
- await checkRoute ( page , "/settings" , "Settings" , checklist ) ;
80
+ // Find an image with an alt text of "mutiny" and click it
81
+ await page . locator ( "img[alt='mutiny']" ) . first ( ) . click ( ) ;
82
+ await expect ( page . locator ( "h1" ) . first ( ) ) . toHaveText ( "Settings" ) ;
83
+ checklist . set ( "/settings" , true ) ;
79
84
80
85
// Mutiny+
81
86
await checkRoute ( page , "/settings/plus" , "Mutiny+" , checklist ) ;
@@ -146,22 +151,43 @@ test("visit each route", async ({ page }) => {
146
151
await checkRoute ( page , "/settings/admin" , "Secret Debug Tools" , checklist ) ;
147
152
await page . goBack ( ) ;
148
153
149
- // Go back home
150
- await page . goBack ( ) ;
151
-
152
154
// Feedback
153
155
await checkRoute ( page , "/feedback" , "Give us feedback!" , checklist ) ;
154
156
await page . goBack ( ) ;
155
157
156
- // Receive is covered in another test
157
- checklist . set ( "/receive" , true ) ;
158
+ // Go back home
159
+ await page . goBack ( ) ;
160
+
161
+ // Try the fab button
162
+ await page . locator ( "#fab" ) . click ( ) ;
163
+ await page . locator ( "text=Send" ) . click ( ) ;
164
+ await expect ( page . locator ( "input" ) . first ( ) ) . toBeFocused ( ) ;
158
165
159
166
// Send is covered in another test
160
167
checklist . set ( "/send" , true ) ;
161
168
169
+ await page . goBack ( ) ;
170
+
171
+ // Try the fab button again
172
+ await page . locator ( "#fab" ) . click ( ) ;
173
+ // (There are actually two buttons with the "Receive text on first run)
174
+ await page . locator ( "text=Receive" ) . last ( ) . click ( ) ;
175
+
176
+ await expect ( page . locator ( "h1" ) . first ( ) ) . toHaveText ( "Receive Bitcoin" ) ;
177
+
178
+ // Actual receive is covered in another test
179
+ checklist . set ( "/receive" , true ) ;
180
+
181
+ await page . goBack ( ) ;
182
+
183
+ // Try the fab button again
184
+ await page . locator ( "#fab" ) . click ( ) ;
185
+ await page . locator ( "text=Scan" ) . click ( ) ;
186
+
162
187
// Scanner
163
- await page . locator ( `a[href='/scanner']` ) . first ( ) . click ( ) ;
164
- await expect ( page . locator ( "button" ) . first ( ) ) . toHaveText ( "Paste Something" ) ;
188
+ await expect (
189
+ page . locator ( "button:has-text('Paste Something')" )
190
+ ) . toBeVisible ( ) ;
165
191
checklist . set ( "/scanner" , true ) ;
166
192
167
193
// Now we have to check routes that aren't linked to directly for whatever reason
0 commit comments