Advertisement
Guest User

Untitled

a guest
Jun 10th, 2017
532
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.26 KB | None | 0 0
  1.  
  2. @RunWith(RobolectricTestRunner.class)
  3. @Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP, application = NordApplicationMock.class)
  4. public class UserUtilsTest {
  5.  
  6.     @Inject Preferences preferences;
  7.     @Inject CookieJar cookieJar;
  8.  
  9.     @Test
  10.     public void shouldShowWaitingScreenWhenUserStatusEqualsZero() {
  11.         // given
  12.         UserUtils userUtils = new UserUtils();
  13.         User user = Mockito.mock(User.class);
  14.         Mockito.when(user.getKaStatus()).thenReturn(0);
  15.  
  16.         // when
  17.         Intent intent = userUtils.getUserScreenIntent(RuntimeEnvironment.application, user);
  18.         MainActivity.Type type = (MainActivity.Type) intent.getSerializableExtra(C.BundleArgs.MAIN_ACTIVITY_TYPE);
  19.  
  20.         // then
  21.         Assert.assertEquals(MainActivity.Type.WAITING, type);
  22.     }
  23.  
  24.     @Test
  25.     public void shouldShowDashboardScreenWhenUserStatusEqualsOne() {
  26.         // given
  27.         UserUtils userUtils = new UserUtils();
  28.         User user = Mockito.mock(User.class);
  29.         Mockito.when(user.getKaStatus()).thenReturn(1);
  30.  
  31.         // when
  32.         Intent intent = userUtils.getUserScreenIntent(RuntimeEnvironment.application, user);
  33.         MainActivity.Type type = (MainActivity.Type) intent.getSerializableExtra(C.BundleArgs.MAIN_ACTIVITY_TYPE);
  34.  
  35.         // then
  36.         Assert.assertEquals(MainActivity.Type.DASHBOARD, type);
  37.     }
  38.  
  39.     @Test
  40.     public void shouldShowSignatureScreenWhenUserStatusEqualsTwo() {
  41.         // given
  42.         UserUtils userUtils = new UserUtils();
  43.         User user = Mockito.mock(User.class);
  44.         Mockito.when(user.getKaStatus()).thenReturn(2);
  45.  
  46.         // when
  47.         Intent intent = userUtils.getUserScreenIntent(RuntimeEnvironment.application, user);
  48.         MainActivity.Type type = (MainActivity.Type) intent.getSerializableExtra(C.BundleArgs.MAIN_ACTIVITY_TYPE);
  49.  
  50.         // then
  51.         Assert.assertEquals(MainActivity.Type.SIGNATURE, type);
  52.     }
  53.  
  54.     @Test
  55.     public void shouldShowTransferScreenWhenUserStatusEqualsThree() {
  56.         // given
  57.         UserUtils userUtils = new UserUtils();
  58.         User user = Mockito.mock(User.class);
  59.         Mockito.when(user.getKaStatus()).thenReturn(3);
  60.  
  61.         // when
  62.         Intent intent = userUtils.getUserScreenIntent(RuntimeEnvironment.application, user);
  63.         MainActivity.Type type = (MainActivity.Type) intent.getSerializableExtra(C.BundleArgs.MAIN_ACTIVITY_TYPE);
  64.  
  65.         // then
  66.         Assert.assertEquals(MainActivity.Type.TRANSFER, type);
  67.     }
  68.  
  69.     @Test
  70.     public void shouldSetPreferencesWhenUserSignedIn() {
  71.         // given
  72.         ((NordApplicationMock) RuntimeEnvironment.application).getAppComponentMock().inject(this);
  73.         User user = new User("test@email.com", "first name", "last name", "phone", 1, "www.request.com", "requestId", "123456789");
  74.         UserUtils userUtils = new UserUtils();
  75.  
  76.         // when
  77.         userUtils.signIn(user, "Password#1");
  78.  
  79.         // then
  80.         Mockito.verify(preferences).setSignedInUserEmail("test@email.com");
  81.         Mockito.verify(preferences).setSignedInUserRequestUrl("www.request.com");
  82.         Mockito.verify(preferences).setSignedInUserRequestId("requestId");
  83.         Mockito.verify(preferences).setSignedInUserFirstName("first name");
  84.         Mockito.verify(preferences).setSignedInUserLastName("last name");
  85.         Mockito.verify(preferences).setSignedInUserPhone("phone");
  86.         Mockito.verify(preferences).setAccountNumber("123456789");
  87.         Mockito.verify(preferences).setEmailHint("test@email.com");
  88.     }
  89.  
  90.     @Test
  91.     public void shouldClearUserPreferencesWhenUserSignedOut() {
  92.         // given
  93.         ((NordApplicationMock) RuntimeEnvironment.application).getAppComponentMock().inject(this);
  94.         UserUtils userUtils = new UserUtils();
  95.  
  96.         // when
  97.         userUtils.signOut();
  98.  
  99.         // then
  100.         Mockito.verify(preferences).clearSignedInUserEmail();
  101.         Mockito.verify(preferences).clearSignedInUserRequestUrl();
  102.         Mockito.verify(preferences).clearSignedInUserRequestId();
  103.         Mockito.verify(preferences).clearSignedInUserFirstName();
  104.         Mockito.verify(preferences).clearSignedInUserLastName();
  105.         Mockito.verify(preferences).clearSignedInUserPhone();
  106.         Mockito.verify(preferences).clearAccountNumber();
  107.         Mockito.verifyNoMoreInteractions(preferences);
  108.     }
  109.  
  110.     @Test
  111.     public void shouldProperlyReturnHasUserSession() {
  112.         // given
  113.         ((NordApplicationMock) RuntimeEnvironment.application).getAppComponentMock().inject(this);
  114.         UserUtils userUtils = new UserUtils();
  115.         Mockito.when(((SessionCookieJar) cookieJar).hasSessionCookie()).thenReturn(true);
  116.  
  117.         // when
  118.         boolean hasUserSession = userUtils.hasUserSession();
  119.  
  120.         // then
  121.         Assert.assertTrue(hasUserSession);
  122.     }
  123.  
  124.     @Test
  125.     public void shouldProperlyReturnIsUserSignedIn() {
  126.         // given
  127.         ((NordApplicationMock) RuntimeEnvironment.application).getAppComponentMock().inject(this);
  128.         UserUtils userUtils = new UserUtils();
  129.         Mockito.when(preferences.getSignedInUserEmail()).thenReturn("test@gmail.com");
  130.  
  131.         // when
  132.         boolean isUserSignedIn = userUtils.isUserSignedIn();
  133.  
  134.         // then
  135.         Assert.assertTrue(isUserSignedIn);
  136.     }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement