@@ -44,17 +44,19 @@ test(
4444 await page . evaluate ( ( ) => {
4545 sessionStorage . removeItem ( "testMockAutoLogin" ) ;
4646 } ) ;
47- await page . getByRole ( "button" , { name : "Sign In" } ) . click ( ) ;
48-
49- // Create User A — wait for the homepage Loading state to clear before
50- // checking mainpage_title (mainpage_title only renders after data load,
51- // which can outlast a 30s wait on slower runners like Windows CI).
52- await page . waitForSelector ( 'text="Loading"' , {
53- state : "hidden" ,
54- timeout : 60000 ,
55- } ) ;
47+ await Promise . all ( [
48+ page . waitForResponse (
49+ ( response ) =>
50+ response . url ( ) . includes ( "/api/v1/login" ) && response . status ( ) === 200 ,
51+ { timeout : 60000 } ,
52+ ) ,
53+ page . getByRole ( "button" , { name : "Sign In" } ) . click ( ) ,
54+ ] ) ;
55+
56+ // mainpage_title only renders after the homepage data finishes loading,
57+ // and on slower runners (Windows CI) this can outlast a 60s wait.
5658 await page . waitForSelector ( '[data-testid="mainpage_title"]' , {
57- timeout : 60000 ,
59+ timeout : 90000 ,
5860 } ) ;
5961 await page . getByTestId ( "user-profile-settings" ) . click ( ) ;
6062 await page . getByText ( "Admin Page" , { exact : true } ) . click ( ) ;
@@ -88,10 +90,17 @@ test(
8890 await page . evaluate ( ( ) => {
8991 sessionStorage . removeItem ( "testMockAutoLogin" ) ;
9092 } ) ;
91- await page . getByRole ( "button" , { name : "Sign In" } ) . click ( ) ;
93+ await Promise . all ( [
94+ page . waitForResponse (
95+ ( response ) =>
96+ response . url ( ) . includes ( "/api/v1/login" ) && response . status ( ) === 200 ,
97+ { timeout : 60000 } ,
98+ ) ,
99+ page . getByRole ( "button" , { name : "Sign In" } ) . click ( ) ,
100+ ] ) ;
92101
93102 // Create a flow for User A
94- await page . waitForSelector ( '[id="new-project-btn"]' , { timeout : 30000 } ) ;
103+ await page . waitForSelector ( '[id="new-project-btn"]' , { timeout : 60000 } ) ;
95104 // Check that User A starts with an empty flows list
96105 expect (
97106 (
@@ -129,7 +138,7 @@ test(
129138 await basicPromptingHeading . click ( ) ;
130139 try {
131140 await page . waitForSelector ( '[data-testid="canvas_controls_dropdown"]' , {
132- timeout : attempt === maxClickAttempts ? 180000 : 45000 ,
141+ timeout : attempt === maxClickAttempts ? 240000 : 60000 ,
133142 } ) ;
134143 canvasMounted = true ;
135144 break ;
@@ -172,7 +181,14 @@ test(
172181 await page . evaluate ( ( ) => {
173182 sessionStorage . removeItem ( "testMockAutoLogin" ) ;
174183 } ) ;
175- await page . getByRole ( "button" , { name : "Sign In" } ) . click ( ) ;
184+ await Promise . all ( [
185+ page . waitForResponse (
186+ ( response ) =>
187+ response . url ( ) . includes ( "/api/v1/login" ) && response . status ( ) === 200 ,
188+ { timeout : 60000 } ,
189+ ) ,
190+ page . getByRole ( "button" , { name : "Sign In" } ) . click ( ) ,
191+ ] ) ;
176192
177193 // Verify admin can't see User A's flow
178194 await expect ( page . getByText ( userAFlowName , { exact : true } ) ) . toBeVisible ( {
0 commit comments