1+ import type { User } from '@clerk/backend' ;
12import { expect , test } from '@playwright/test' ;
23
34import { appConfigs } from '../../presets' ;
@@ -16,6 +17,7 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withEmailCodes] })(
1617 test . describe . configure ( { mode : 'parallel' } ) ;
1718
1819 let fakeUser : FakeUser ;
20+ let bapiUser : User ;
1921
2022 test . beforeAll ( async ( ) => {
2123 const u = createTestUtils ( { app } ) ;
@@ -24,7 +26,7 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withEmailCodes] })(
2426 withPhoneNumber : true ,
2527 withUsername : true ,
2628 } ) ;
27- await u . services . users . createBapiUser ( fakeUser ) ;
29+ bapiUser = await u . services . users . createBapiUser ( fakeUser ) ;
2830 } ) ;
2931
3032 test . afterAll ( async ( ) => {
@@ -72,6 +74,25 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withEmailCodes] })(
7274 expect ( clerkInitialState !== undefined ) . toBeTruthy ( ) ;
7375 } ) ;
7476
77+ test ( 'retrieve auth state in server functions' , async ( { page, context } ) => {
78+ const u = createTestUtils ( { app, page, context } ) ;
79+
80+ await u . page . goToRelative ( '/user' ) ;
81+
82+ await expect ( u . page . getByText ( 'You are not signed in' ) ) . toBeVisible ( ) ;
83+
84+ await u . po . signIn . goTo ( ) ;
85+
86+ await u . po . signIn . setIdentifier ( fakeUser . email ) ;
87+ await u . po . signIn . setPassword ( fakeUser . password ) ;
88+ await u . po . signIn . continue ( ) ;
89+ await u . po . expect . toBeSignedIn ( ) ;
90+
91+ await u . page . goToRelative ( '/user' ) ;
92+
93+ await expect ( u . page . getByText ( `Welcome! Your ID is ${ bapiUser . id } !` ) ) . toBeVisible ( ) ;
94+ } ) ;
95+
7596 test ( 'clerk handler sets headers' , async ( { page, context } ) => {
7697 const u = createTestUtils ( { app, page, context } ) ;
7798 const r = await u . po . signIn . goTo ( ) ;
0 commit comments