@@ -379,7 +379,11 @@ describe('SignUpStart', () => {
379379 ) ;
380380
381381 await waitFor ( ( ) =>
382- expect ( fixtures . signUp . create ) . toHaveBeenCalledWith ( { strategy : 'ticket' , ticket : 'test_ticket' } ) ,
382+ expect ( fixtures . signUp . create ) . toHaveBeenCalledWith ( {
383+ strategy : 'ticket' ,
384+ ticket : 'test_ticket' ,
385+ unsafeMetadata : undefined ,
386+ } ) ,
383387 ) ;
384388
385389 //don't remove the query param quite yet
@@ -390,6 +394,39 @@ describe('SignUpStart', () => {
390394 ) ;
391395 } ) ;
392396
397+ it ( 'passes unsafeMetadata to signUp.create when ticket is detected' , async ( ) => {
398+ const { wrapper, fixtures, props } = await createFixtures ( f => {
399+ f . withEmailAddress ( ) ;
400+ f . withPassword ( ) ;
401+ } ) ;
402+ fixtures . signUp . create . mockResolvedValueOnce ( { } as SignUpResource ) ;
403+ props . setProps ( { unsafeMetadata : { foo : 'bar' , nested : { value : 123 } } } ) ;
404+
405+ Object . defineProperty ( window , 'location' , {
406+ writable : true ,
407+ value : { href : 'http://localhost/sign-up?__clerk_ticket=test_ticket' } ,
408+ } ) ;
409+ Object . defineProperty ( window , 'history' , {
410+ writable : true ,
411+ value : { replaceState : vi . fn ( ) } ,
412+ } ) ;
413+
414+ render (
415+ < CardStateProvider >
416+ < SignUpStart />
417+ </ CardStateProvider > ,
418+ { wrapper } ,
419+ ) ;
420+
421+ await waitFor ( ( ) =>
422+ expect ( fixtures . signUp . create ) . toHaveBeenCalledWith ( {
423+ strategy : 'ticket' ,
424+ ticket : 'test_ticket' ,
425+ unsafeMetadata : { foo : 'bar' , nested : { value : 123 } } ,
426+ } ) ,
427+ ) ;
428+ } ) ;
429+
393430 it ( 'removes the ticket from the url when completing the sign up' , async ( ) => {
394431 const { wrapper, fixtures } = await createFixtures ( f => {
395432 f . withEmailAddress ( ) ;
@@ -414,7 +451,11 @@ describe('SignUpStart', () => {
414451 ) ;
415452
416453 await waitFor ( ( ) =>
417- expect ( fixtures . signUp . create ) . toHaveBeenCalledWith ( { strategy : 'ticket' , ticket : 'test_ticket' } ) ,
454+ expect ( fixtures . signUp . create ) . toHaveBeenCalledWith ( {
455+ strategy : 'ticket' ,
456+ ticket : 'test_ticket' ,
457+ unsafeMetadata : undefined ,
458+ } ) ,
418459 ) ;
419460
420461 expect ( window . history . replaceState ) . toHaveBeenCalledWith (
0 commit comments