@@ -487,6 +487,33 @@ describe('Auth Adapter features', () => {
487
487
expect ( baseAdapter2 . validateAuthData ) . toHaveBeenCalledTimes ( 2 ) ;
488
488
} ) ;
489
489
490
+ it ( 'should not perform authData validation twice when data mutated' , async ( ) => {
491
+ spyOn ( baseAdapter , 'validateAuthData' ) . and . resolveTo ( { } ) ;
492
+ await reconfigureServer ( {
493
+ auth : { baseAdapter } ,
494
+ allowExpiredAuthDataToken : false ,
495
+ } ) ;
496
+
497
+ const user = new Parse . User ( ) ;
498
+
499
+ await user . save ( {
500
+ authData : {
501
+ baseAdapter : { id : 'baseAdapter' , token : "sometoken1" } ,
502
+ } ,
503
+ } ) ;
504
+
505
+ expect ( baseAdapter . validateAuthData ) . toHaveBeenCalledTimes ( 1 ) ;
506
+
507
+ const user2 = new Parse . User ( ) ;
508
+ await user2 . save ( {
509
+ authData : {
510
+ baseAdapter : { id : 'baseAdapter' , token : "sometoken2" } ,
511
+ } ,
512
+ } ) ;
513
+
514
+ expect ( baseAdapter . validateAuthData ) . toHaveBeenCalledTimes ( 2 ) ;
515
+ } ) ;
516
+
490
517
it ( 'should require additional provider if configured' , async ( ) => {
491
518
await reconfigureServer ( {
492
519
auth : { baseAdapter, additionalAdapter } ,
@@ -937,7 +964,7 @@ describe('Auth Adapter features', () => {
937
964
allowExpiredAuthDataToken : false ,
938
965
} ) ;
939
966
logger = require ( '../lib/logger' ) . logger ;
940
- spyOn ( logger , 'error' ) . and . callFake ( ( ) => { } ) ;
967
+ spyOn ( logger , 'error' ) . and . callFake ( ( ) => { } ) ;
941
968
user = new Parse . User ( ) ;
942
969
await user . save ( { authData : { modernAdapter : { id : 'modernAdapter' } } } ) ;
943
970
const user2 = new Parse . User ( ) ;
0 commit comments