@@ -359,6 +359,80 @@ describe('ParseUser', () => {
359
359
} ) ;
360
360
} ) ) ;
361
361
362
+ it ( 'updates the current user on disk when saved' , asyncHelper ( ( done ) => {
363
+ ParseUser . enableUnsafeCurrentUser ( ) ;
364
+ ParseUser . _clearCache ( ) ;
365
+ Storage . _clear ( ) ;
366
+ CoreManager . setRESTController ( {
367
+ request ( ) {
368
+ return ParsePromise . as ( {
369
+ objectId : 'uid5' ,
370
+ } , 201 ) ;
371
+ } ,
372
+ ajax ( ) { }
373
+ } ) ;
374
+
375
+ ParseUser . signUp ( 'updater' , 'password' ) . then ( ( u ) => {
376
+ expect ( u . isCurrent ( ) ) . toBe ( true ) ;
377
+ ParseUser . _clearCache ( ) ;
378
+ CoreManager . setRESTController ( {
379
+ request ( ) {
380
+ return ParsePromise . as ( { } , 200 ) ;
381
+ } ,
382
+ ajax ( ) { }
383
+ } ) ;
384
+ return u . save ( { count : 12 } ) ;
385
+ } ) . then ( ( u ) => {
386
+ ParseUser . _clearCache ( ) ;
387
+ ParseObject . _clearAllState ( ) ;
388
+ expect ( u . attributes ) . toEqual ( { } ) ;
389
+ expect ( u . get ( 'count' ) ) . toBe ( undefined ) ;
390
+ return ParseUser . currentAsync ( ) ;
391
+ } ) . then ( ( current ) => {
392
+ expect ( current . id ) . toBe ( 'uid5' ) ;
393
+ expect ( current . get ( 'count' ) ) . toBe ( 12 ) ;
394
+ done ( ) ;
395
+ } ) ;
396
+ } ) ) ;
397
+
398
+ it ( 'updates the current user on disk when fetched' , asyncHelper ( ( done ) => {
399
+ ParseUser . enableUnsafeCurrentUser ( ) ;
400
+ ParseUser . _clearCache ( ) ;
401
+ Storage . _clear ( ) ;
402
+ CoreManager . setRESTController ( {
403
+ request ( ) {
404
+ return ParsePromise . as ( {
405
+ objectId : 'uid6'
406
+ } , 200 ) ;
407
+ } ,
408
+ ajax ( ) { }
409
+ } ) ;
410
+
411
+ ParseUser . signUp ( 'spot' , 'fetch' ) . then ( ( u ) => {
412
+ expect ( u . isCurrent ( ) ) . toBe ( true ) ;
413
+ ParseUser . _clearCache ( ) ;
414
+ CoreManager . setRESTController ( {
415
+ request ( ) {
416
+ return ParsePromise . as ( {
417
+ count : 15
418
+ } , 200 ) ;
419
+ } ,
420
+ ajax ( ) { }
421
+ } ) ;
422
+ return u . fetch ( ) ;
423
+ } ) . then ( ( u ) => {
424
+ ParseUser . _clearCache ( ) ;
425
+ ParseObject . _clearAllState ( ) ;
426
+ expect ( u . attributes ) . toEqual ( { } ) ;
427
+ expect ( u . get ( 'count' ) ) . toBe ( undefined ) ;
428
+ return ParseUser . currentAsync ( ) ;
429
+ } ) . then ( ( current ) => {
430
+ expect ( current . id ) . toBe ( 'uid6' ) ;
431
+ expect ( current . get ( 'count' ) ) . toBe ( 15 ) ;
432
+ done ( ) ;
433
+ } ) ;
434
+ } ) ) ;
435
+
362
436
it ( 'can get error when recursive _linkWith call fails' , asyncHelper ( ( done ) => {
363
437
CoreManager . setRESTController ( {
364
438
request ( method , path , body , options ) {
0 commit comments