1
+ import type { User } from '@clerk/backend' ;
1
2
import { expect , test } from '@playwright/test' ;
2
3
3
4
import { appConfigs } from '../../presets' ;
@@ -16,6 +17,7 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withEmailCodes] })(
16
17
test . describe . configure ( { mode : 'parallel' } ) ;
17
18
18
19
let fakeUser : FakeUser ;
20
+ let bapiUser : User ;
19
21
20
22
test . beforeAll ( async ( ) => {
21
23
const u = createTestUtils ( { app } ) ;
@@ -24,7 +26,7 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withEmailCodes] })(
24
26
withPhoneNumber : true ,
25
27
withUsername : true ,
26
28
} ) ;
27
- await u . services . users . createBapiUser ( fakeUser ) ;
29
+ bapiUser = await u . services . users . createBapiUser ( fakeUser ) ;
28
30
} ) ;
29
31
30
32
test . afterAll ( async ( ) => {
@@ -72,6 +74,25 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withEmailCodes] })(
72
74
expect ( clerkInitialState !== undefined ) . toBeTruthy ( ) ;
73
75
} ) ;
74
76
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
+
75
96
test ( 'clerk handler sets headers' , async ( { page, context } ) => {
76
97
const u = createTestUtils ( { app, page, context } ) ;
77
98
const r = await u . po . signIn . goTo ( ) ;
0 commit comments