@@ -2,11 +2,11 @@ import { expect, Page, test } from "@playwright/test";
22
33const routes = [
44 "/" ,
5- "/activity" ,
65 "/feedback" ,
76 "/gift" ,
87 "/receive" ,
98 "/scanner" ,
9+ "/search" ,
1010 "/send" ,
1111 "/swap" ,
1212 "/settings"
@@ -58,24 +58,29 @@ test.beforeEach(async ({ page }) => {
5858
5959test ( "visit each route" , async ( { page } ) => {
6060 // Start on the home page
61- // Expect a title "to contain" a substring.
6261 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!" ) ;
6863
6964 // Wait for a while just to make sure we can load everything
7065 await page . waitForTimeout ( 1000 ) ;
7166
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+
7275 checklist . set ( "/" , true ) ;
7376
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 ( ) ;
7679
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 ) ;
7984
8085 // Mutiny+
8186 await checkRoute ( page , "/settings/plus" , "Mutiny+" , checklist ) ;
@@ -146,22 +151,43 @@ test("visit each route", async ({ page }) => {
146151 await checkRoute ( page , "/settings/admin" , "Secret Debug Tools" , checklist ) ;
147152 await page . goBack ( ) ;
148153
149- // Go back home
150- await page . goBack ( ) ;
151-
152154 // Feedback
153155 await checkRoute ( page , "/feedback" , "Give us feedback!" , checklist ) ;
154156 await page . goBack ( ) ;
155157
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 ( ) ;
158165
159166 // Send is covered in another test
160167 checklist . set ( "/send" , true ) ;
161168
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+
162187 // 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 ( ) ;
165191 checklist . set ( "/scanner" , true ) ;
166192
167193 // Now we have to check routes that aren't linked to directly for whatever reason
0 commit comments