@@ -567,6 +567,38 @@ describe('GoTrueClient', () => {
567567 expect ( data ?. user ?. user_metadata ) . toMatchObject ( TEST_USER_DATA )
568568 } )
569569
570+ test ( 'signUp() returns the bare user payload when signup requires confirmation' , async ( ) => {
571+ const user = {
572+ id : 'user-id' ,
573+ aud : 'authenticated' ,
574+ role : 'authenticated' ,
575+ email : 'user@example.com' ,
576+ created_at : '2026-05-21T12:00:00.000Z' ,
577+ }
578+ const mockFetch = jest . fn ( ) . mockResolvedValue ( {
579+ ok : true ,
580+ status : 200 ,
581+ headers : new Headers ( ) ,
582+ json : ( ) => Promise . resolve ( user ) ,
583+ } )
584+ const client = new GoTrueClient ( {
585+ url : GOTRUE_URL_SIGNUP_ENABLED_AUTO_CONFIRM_ON ,
586+ autoRefreshToken : false ,
587+ persistSession : false ,
588+ storage : memoryLocalStorageAdapter ( ) ,
589+ fetch : mockFetch as unknown as typeof fetch ,
590+ } )
591+
592+ const { data, error } = await client . signUp ( {
593+ email : user . email ,
594+ password : 'password123' ,
595+ } )
596+
597+ expect ( error ) . toBeNull ( )
598+ expect ( data . session ) . toBeNull ( )
599+ expect ( data . user ) . toEqual ( user )
600+ } )
601+
570602 test ( 'fail to signUp() with invalid password' , async ( ) => {
571603 const { error, data } = await auth . signUp ( { email : 'asd@a.aa' , password : '123' } )
572604
0 commit comments