@@ -536,7 +536,6 @@ describe('Parse User', () => {
536536 Parse . User . enableUnsafeCurrentUser ( ) ;
537537
538538 await Parse . User . signUp ( 'foobaz' , '1234' ) ;
539- await Parse . User . logOut ( ) ;
540539
541540 const user = await Parse . AnonymousUtils . logIn ( ) ;
542541 user . set ( 'field' , 'hello world' ) ;
@@ -552,6 +551,71 @@ describe('Parse User', () => {
552551 }
553552 } ) ;
554553
554+ it ( 'anonymous user logIn does not use currentUser sessionToken' , async ( ) => {
555+ Parse . User . enableUnsafeCurrentUser ( ) ;
556+
557+ const user1 = await Parse . User . signUp ( 'anon-not' , '1234' ) ;
558+ const user2 = await Parse . AnonymousUtils . logIn ( ) ;
559+ expect ( user1 . getSessionToken ( ) ) . toBeDefined ( ) ;
560+ expect ( user2 . getSessionToken ( ) ) . toBeDefined ( ) ;
561+ expect ( user1 . getSessionToken ( ) ) . not . toBe ( user2 . getSessionToken ( ) ) ;
562+ } ) ;
563+
564+ it ( 'anonymous user link currentUser' , async ( ) => {
565+ Parse . User . enableUnsafeCurrentUser ( ) ;
566+
567+ const user1 = await Parse . User . signUp ( 'anon-not' , '1234' ) ;
568+ const user2 = await Parse . AnonymousUtils . link ( user1 ) ;
569+ expect ( user1 . getSessionToken ( ) ) . toBeDefined ( ) ;
570+ expect ( user2 . getSessionToken ( ) ) . toBeDefined ( ) ;
571+ expect ( user1 . getSessionToken ( ) ) . toBe ( user2 . getSessionToken ( ) ) ;
572+ } ) ;
573+
574+ it ( 'anonymous user link does not use currentUser sessionToken' , async ( ) => {
575+ Parse . User . enableUnsafeCurrentUser ( ) ;
576+
577+ const user1 = await Parse . User . signUp ( 'anon-not' , '1234' ) ;
578+ const user2 = new Parse . User ( ) ;
579+ await Parse . AnonymousUtils . link ( user2 ) ;
580+ expect ( user1 . getSessionToken ( ) ) . toBeDefined ( ) ;
581+ expect ( user2 . getSessionToken ( ) ) . toBeDefined ( ) ;
582+ expect ( user1 . getSessionToken ( ) ) . not . toBe ( user2 . getSessionToken ( ) ) ;
583+ } ) ;
584+
585+ it ( 'facebook logIn does not use currentUser sessionToken' , async ( ) => {
586+ Parse . User . enableUnsafeCurrentUser ( ) ;
587+ Parse . FacebookUtils . init ( ) ;
588+
589+ const user1 = await Parse . User . signUp ( 'facebook-not' , '1234' ) ;
590+ const user2 = await Parse . FacebookUtils . logIn ( ) ;
591+ expect ( user1 . getSessionToken ( ) ) . toBeDefined ( ) ;
592+ expect ( user2 . getSessionToken ( ) ) . toBeDefined ( ) ;
593+ expect ( user1 . getSessionToken ( ) ) . not . toBe ( user2 . getSessionToken ( ) ) ;
594+ } ) ;
595+
596+ it ( 'facebook link currentUser' , async ( ) => {
597+ Parse . User . enableUnsafeCurrentUser ( ) ;
598+ Parse . FacebookUtils . init ( ) ;
599+
600+ const user1 = await Parse . User . signUp ( 'facebook-not' , '1234' ) ;
601+ const user2 = await Parse . FacebookUtils . link ( user1 ) ;
602+ expect ( user1 . getSessionToken ( ) ) . toBeDefined ( ) ;
603+ expect ( user2 . getSessionToken ( ) ) . toBeDefined ( ) ;
604+ expect ( user1 . getSessionToken ( ) ) . toBe ( user2 . getSessionToken ( ) ) ;
605+ } ) ;
606+
607+ it ( 'facebook link does not use currentUser sessionToken' , async ( ) => {
608+ Parse . User . enableUnsafeCurrentUser ( ) ;
609+ Parse . FacebookUtils . init ( ) ;
610+
611+ const user1 = await Parse . User . signUp ( 'facebook-not' , '1234' ) ;
612+ const user2 = new Parse . User ( ) ;
613+ await Parse . FacebookUtils . link ( user2 ) ;
614+ expect ( user1 . getSessionToken ( ) ) . toBeDefined ( ) ;
615+ expect ( user2 . getSessionToken ( ) ) . toBeDefined ( ) ;
616+ expect ( user1 . getSessionToken ( ) ) . not . toBe ( user2 . getSessionToken ( ) ) ;
617+ } ) ;
618+
555619 it ( 'can signUp user with subclass' , async ( ) => {
556620 Parse . User . enableUnsafeCurrentUser ( ) ;
557621
@@ -649,15 +713,13 @@ describe('Parse User', () => {
649713 expect ( loggedIn . authenticated ( ) ) . toBeTruthy ( ) ;
650714 } ) ;
651715
652- it ( 'linking un-authenticated user without master key will throw ' , async ( done ) => {
716+ it ( 'can linking un-authenticated user without master key' , async ( ) => {
653717 const user = new Parse . User ( ) ;
654718 user . setUsername ( 'Alice' ) ;
655719 user . setPassword ( 'sekrit' ) ;
656720 await user . save ( null , { useMasterKey : true } ) ;
657- user . _linkWith ( provider . getAuthType ( ) , provider . getAuthData ( ) )
658- . then ( ( ) => done . fail ( 'should fail' ) )
659- . catch ( e => expect ( e . message ) . toBe ( `Cannot modify user ${ user . id } .` ) )
660- . then ( done ) ;
721+ await user . _linkWith ( provider . getAuthType ( ) , provider . getAuthData ( ) ) ;
722+ expect ( user . getSessionToken ( ) ) . toBeDefined ( ) ;
661723 } ) ;
662724
663725 it ( 'can link with custom auth' , async ( ) => {
0 commit comments