Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @RunWith(RobolectricTestRunner.class)
- @Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP, application = NordApplicationMock.class)
- public class UserUtilsTest {
- @Inject Preferences preferences;
- @Inject CookieJar cookieJar;
- @Test
- public void shouldShowWaitingScreenWhenUserStatusEqualsZero() {
- // given
- UserUtils userUtils = new UserUtils();
- User user = Mockito.mock(User.class);
- Mockito.when(user.getKaStatus()).thenReturn(0);
- // when
- Intent intent = userUtils.getUserScreenIntent(RuntimeEnvironment.application, user);
- MainActivity.Type type = (MainActivity.Type) intent.getSerializableExtra(C.BundleArgs.MAIN_ACTIVITY_TYPE);
- // then
- Assert.assertEquals(MainActivity.Type.WAITING, type);
- }
- @Test
- public void shouldShowDashboardScreenWhenUserStatusEqualsOne() {
- // given
- UserUtils userUtils = new UserUtils();
- User user = Mockito.mock(User.class);
- Mockito.when(user.getKaStatus()).thenReturn(1);
- // when
- Intent intent = userUtils.getUserScreenIntent(RuntimeEnvironment.application, user);
- MainActivity.Type type = (MainActivity.Type) intent.getSerializableExtra(C.BundleArgs.MAIN_ACTIVITY_TYPE);
- // then
- Assert.assertEquals(MainActivity.Type.DASHBOARD, type);
- }
- @Test
- public void shouldShowSignatureScreenWhenUserStatusEqualsTwo() {
- // given
- UserUtils userUtils = new UserUtils();
- User user = Mockito.mock(User.class);
- Mockito.when(user.getKaStatus()).thenReturn(2);
- // when
- Intent intent = userUtils.getUserScreenIntent(RuntimeEnvironment.application, user);
- MainActivity.Type type = (MainActivity.Type) intent.getSerializableExtra(C.BundleArgs.MAIN_ACTIVITY_TYPE);
- // then
- Assert.assertEquals(MainActivity.Type.SIGNATURE, type);
- }
- @Test
- public void shouldShowTransferScreenWhenUserStatusEqualsThree() {
- // given
- UserUtils userUtils = new UserUtils();
- User user = Mockito.mock(User.class);
- Mockito.when(user.getKaStatus()).thenReturn(3);
- // when
- Intent intent = userUtils.getUserScreenIntent(RuntimeEnvironment.application, user);
- MainActivity.Type type = (MainActivity.Type) intent.getSerializableExtra(C.BundleArgs.MAIN_ACTIVITY_TYPE);
- // then
- Assert.assertEquals(MainActivity.Type.TRANSFER, type);
- }
- @Test
- public void shouldSetPreferencesWhenUserSignedIn() {
- // given
- ((NordApplicationMock) RuntimeEnvironment.application).getAppComponentMock().inject(this);
- User user = new User("test@email.com", "first name", "last name", "phone", 1, "www.request.com", "requestId", "123456789");
- UserUtils userUtils = new UserUtils();
- // when
- userUtils.signIn(user, "Password#1");
- // then
- Mockito.verify(preferences).setSignedInUserEmail("test@email.com");
- Mockito.verify(preferences).setSignedInUserRequestUrl("www.request.com");
- Mockito.verify(preferences).setSignedInUserRequestId("requestId");
- Mockito.verify(preferences).setSignedInUserFirstName("first name");
- Mockito.verify(preferences).setSignedInUserLastName("last name");
- Mockito.verify(preferences).setSignedInUserPhone("phone");
- Mockito.verify(preferences).setAccountNumber("123456789");
- Mockito.verify(preferences).setEmailHint("test@email.com");
- }
- @Test
- public void shouldClearUserPreferencesWhenUserSignedOut() {
- // given
- ((NordApplicationMock) RuntimeEnvironment.application).getAppComponentMock().inject(this);
- UserUtils userUtils = new UserUtils();
- // when
- userUtils.signOut();
- // then
- Mockito.verify(preferences).clearSignedInUserEmail();
- Mockito.verify(preferences).clearSignedInUserRequestUrl();
- Mockito.verify(preferences).clearSignedInUserRequestId();
- Mockito.verify(preferences).clearSignedInUserFirstName();
- Mockito.verify(preferences).clearSignedInUserLastName();
- Mockito.verify(preferences).clearSignedInUserPhone();
- Mockito.verify(preferences).clearAccountNumber();
- Mockito.verifyNoMoreInteractions(preferences);
- }
- @Test
- public void shouldProperlyReturnHasUserSession() {
- // given
- ((NordApplicationMock) RuntimeEnvironment.application).getAppComponentMock().inject(this);
- UserUtils userUtils = new UserUtils();
- Mockito.when(((SessionCookieJar) cookieJar).hasSessionCookie()).thenReturn(true);
- // when
- boolean hasUserSession = userUtils.hasUserSession();
- // then
- Assert.assertTrue(hasUserSession);
- }
- @Test
- public void shouldProperlyReturnIsUserSignedIn() {
- // given
- ((NordApplicationMock) RuntimeEnvironment.application).getAppComponentMock().inject(this);
- UserUtils userUtils = new UserUtils();
- Mockito.when(preferences.getSignedInUserEmail()).thenReturn("test@gmail.com");
- // when
- boolean isUserSignedIn = userUtils.isUserSignedIn();
- // then
- Assert.assertTrue(isUserSignedIn);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement