@@ -158,46 +158,59 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withEmailCodes] })('sign in f
158158 } ) => {
159159 const u = createTestUtils ( { app, page, context, browser } ) ;
160160
161- // Sign in on the first tab
161+ // Open sign- in page in both tabs before signing in
162162 await u . po . signIn . goTo ( ) ;
163+
164+ let secondTabUtils : any ;
165+ await u . tabs . runInNewTab ( async u2 => {
166+ secondTabUtils = u2 ;
167+ await u2 . po . signIn . goTo ( ) ;
168+ } ) ;
169+
170+ // Sign in on the first tab
163171 await u . po . signIn . setIdentifier ( fakeUser . email ) ;
164172 await u . po . signIn . continue ( ) ;
165173 await u . po . signIn . setPassword ( fakeUser . password ) ;
166174 await u . po . signIn . continue ( ) ;
167175 await u . po . expect . toBeSignedIn ( ) ;
168176
169- // Open a new tab and attempt to sign in again with the same user
170- await u . tabs . runInNewTab ( async u2 => {
171- await u2 . po . signIn . goTo ( ) ;
172- await u2 . po . signIn . setIdentifier ( fakeUser . email ) ;
173- await u2 . po . signIn . continue ( ) ;
174- await u2 . po . signIn . setPassword ( fakeUser . password ) ;
175- await u2 . po . signIn . continue ( ) ;
177+ // Attempt to sign in on the second tab (which already has sign-in mounted)
178+ await secondTabUtils . po . signIn . setIdentifier ( fakeUser . email ) ;
179+ await secondTabUtils . po . signIn . continue ( ) ;
180+ await secondTabUtils . po . signIn . setPassword ( fakeUser . password ) ;
181+ await secondTabUtils . po . signIn . continue ( ) ;
176182
177- // Should redirect and be signed in without error
178- await u2 . po . expect . toBeSignedIn ( ) ;
179- } ) ;
183+ // Should redirect and be signed in without error
184+ await secondTabUtils . po . expect . toBeSignedIn ( ) ;
180185 } ) ;
181186
182- test ( 'redirects when attempting to sign in again with instant password in another tab' , async ( {
187+ test ( 'redirects when attempting to sign in with instant password and existing session in another tab' , async ( {
183188 page,
184189 context,
185190 browser,
186191 } ) => {
187192 const u = createTestUtils ( { app, page, context, browser } ) ;
188193
189- // Sign in on the first tab
194+ // Open sign- in page in both tabs before signing in
190195 await u . po . signIn . goTo ( ) ;
191- await u . po . signIn . signInWithEmailAndInstantPassword ( { email : fakeUser . email , password : fakeUser . password } ) ;
192- await u . po . expect . toBeSignedIn ( ) ;
193196
194- // Open a new tab and attempt to sign in again with instant password
197+ let secondTabUtils : any ;
195198 await u . tabs . runInNewTab ( async u2 => {
199+ secondTabUtils = u2 ;
196200 await u2 . po . signIn . goTo ( ) ;
197- await u2 . po . signIn . signInWithEmailAndInstantPassword ( { email : fakeUser . email , password : fakeUser . password } ) ;
201+ } ) ;
198202
199- // Should redirect and remain signed in without error
200- await u2 . po . expect . toBeSignedIn ( ) ;
203+ // Sign in with instant password on the first tab
204+ await u . po . signIn . signInWithEmailAndInstantPassword ( { email : fakeUser . email , password : fakeUser . password } ) ;
205+ await u . po . expect . toBeSignedIn ( ) ;
206+
207+ // Attempt to sign in with instant password on the second tab
208+ await secondTabUtils . po . signIn . signInWithEmailAndInstantPassword ( {
209+ email : fakeUser . email ,
210+ password : fakeUser . password ,
201211 } ) ;
212+
213+ // Should redirect and be signed in without error
214+ await secondTabUtils . po . expect . toBeSignedIn ( ) ;
202215 } ) ;
203216} ) ;
0 commit comments