15
15
import org .junit .Test ;
16
16
import org .junit .rules .ExpectedException ;
17
17
import org .junit .runner .RunWith ;
18
+ import org .mockito .ArgumentCaptor ;
18
19
import org .mockito .Matchers ;
19
20
import org .robolectric .RobolectricGradleTestRunner ;
20
21
import org .robolectric .annotation .Config ;
@@ -632,13 +633,6 @@ public void testLinkWithAsyncWithSaveAsyncFailure() throws Exception {
632
633
633
634
//region testResolveLazinessAsync
634
635
635
- @ Test
636
- public void testResolveLazinessAsyncWithNotLazyUser () throws Exception {
637
- ParseUser user = new ParseUser ();
638
-
639
- ParseTaskUtils .wait (user .resolveLazinessAsync (Task .<Void >forResult (null )));
640
- }
641
-
642
636
@ Test
643
637
public void testResolveLazinessAsyncWithAuthDataAndNotNewUser () throws Exception {
644
638
ParseUser user = new ParseUser ();
@@ -660,14 +654,16 @@ public void testResolveLazinessAsyncWithAuthDataAndNotNewUser() throws Exception
660
654
.thenReturn (Task .<Void >forResult (null ));
661
655
ParseCorePlugins .getInstance ().registerCurrentUserController (currentUserController );
662
656
663
- ParseUser userAfterResolveLaziness =
664
- ParseTaskUtils .wait (user .resolveLazinessAsync (Task .<Void >forResult (null )));
657
+ ParseTaskUtils .wait (user .resolveLazinessAsync (Task .<Void >forResult (null )));
658
+ ArgumentCaptor <ParseUser > userAfterResolveLazinessCaptor =
659
+ ArgumentCaptor .forClass (ParseUser .class );
665
660
666
661
// Make sure we logIn the lazy user
667
662
verify (userController , times (1 )).logInAsync (
668
663
any (ParseUser .State .class ), any (ParseOperationSet .class ));
669
664
// Make sure we save currentUser
670
- verify (currentUserController , times (1 )).setAsync (any (ParseUser .class ));
665
+ verify (currentUserController , times (1 )).setAsync (userAfterResolveLazinessCaptor .capture ());
666
+ ParseUser userAfterResolveLaziness = userAfterResolveLazinessCaptor .getValue ();
671
667
// Make sure user's data is correct
672
668
assertEquals ("newSessionToken" , userAfterResolveLaziness .getSessionToken ());
673
669
assertEquals ("newValue" , userAfterResolveLaziness .get ("newKey" ));
@@ -697,21 +693,18 @@ public void testResolveLazinessAsyncWithAuthDataAndNewUser() throws Exception {
697
693
ParseCurrentUserController currentUserController = mock (ParseCurrentUserController .class );
698
694
ParseCorePlugins .getInstance ().registerCurrentUserController (currentUserController );
699
695
700
- ParseUser userAfterResolveLaziness =
701
- ParseTaskUtils .wait (user .resolveLazinessAsync (Task .<Void >forResult (null )));
696
+ ParseTaskUtils .wait (user .resolveLazinessAsync (Task .<Void >forResult (null )));
702
697
703
698
// Make sure we logIn the lazy user
704
699
verify (userController , times (1 )).logInAsync (
705
700
any (ParseUser .State .class ), any (ParseOperationSet .class ));
706
701
// Make sure we do not save currentUser
707
702
verify (currentUserController , never ()).setAsync (any (ParseUser .class ));
708
703
// Make sure userAfterResolveLaziness's data is correct
709
- assertEquals ("newSessionToken" , userAfterResolveLaziness .getSessionToken ());
710
- assertEquals ("newValue" , userAfterResolveLaziness .get ("newKey" ));
704
+ assertEquals ("newSessionToken" , user .getSessionToken ());
705
+ assertEquals ("newValue" , user .get ("newKey" ));
711
706
// Make sure userAfterResolveLaziness is not lazy
712
- assertFalse (userAfterResolveLaziness .isLazy ());
713
- // Make sure we do not create new user
714
- assertSame (user , userAfterResolveLaziness );
707
+ assertFalse (user .isLazy ());
715
708
}
716
709
717
710
@ Test
@@ -739,8 +732,9 @@ public void testResolveLazinessAsyncWithAuthDataAndNotNewUserAndLDSEnabled() thr
739
732
// Enable LDS
740
733
Parse .enableLocalDatastore (null );
741
734
742
- ParseUser userAfterResolveLaziness =
743
- ParseTaskUtils .wait (user .resolveLazinessAsync (Task .<Void >forResult (null )));
735
+ ParseTaskUtils .wait (user .resolveLazinessAsync (Task .<Void >forResult (null )));
736
+ ArgumentCaptor <ParseUser > userAfterResolveLazinessCaptor =
737
+ ArgumentCaptor .forClass (ParseUser .class );
744
738
745
739
// Make sure we logIn the lazy user
746
740
verify (userController , times (1 )).logInAsync (
@@ -749,7 +743,8 @@ public void testResolveLazinessAsyncWithAuthDataAndNotNewUserAndLDSEnabled() thr
749
743
// field should be cleaned
750
744
assertEquals ("password" , user .getPassword ());
751
745
// Make sure we do not save currentUser
752
- verify (currentUserController , times (1 )).setAsync (any (ParseUser .class ));
746
+ verify (currentUserController , times (1 )).setAsync (userAfterResolveLazinessCaptor .capture ());
747
+ ParseUser userAfterResolveLaziness = userAfterResolveLazinessCaptor .getValue ();
753
748
// Make sure userAfterResolveLaziness's data is correct
754
749
assertEquals ("newSessionToken" , userAfterResolveLaziness .getSessionToken ());
755
750
assertEquals ("newValue" , userAfterResolveLaziness .get ("newKey" ));
0 commit comments