use of com.firebase.ui.auth.testhelpers.BaseHelperShadow in project FirebaseUI-Android by firebase.
the class RegisterEmailActivityTest method testSignUpButton_successfulRegistrationShouldContinueToSaveCredentials.
@Test
@Config(shadows = { BaseHelperShadow.class, ActivityHelperShadow.class })
public void testSignUpButton_successfulRegistrationShouldContinueToSaveCredentials() {
// init mocks
new BaseHelperShadow();
reset(BaseHelperShadow.sSaveSmartLock);
TestHelper.initializeApp(RuntimeEnvironment.application);
RegisterEmailActivity registerEmailActivity = createActivity();
// Trigger new user UI (bypassing check email)
registerEmailActivity.onNewUser(new User.Builder(TestConstants.EMAIL).setName(TestConstants.NAME).setPhotoUri(TestConstants.PHOTO_URI).build());
EditText name = (EditText) registerEmailActivity.findViewById(R.id.name);
EditText password = (EditText) registerEmailActivity.findViewById(R.id.password);
name.setText(TestConstants.NAME);
password.setText(TestConstants.PASSWORD);
FirebaseUser mockFirebaseUser = Mockito.mock(FirebaseUser.class);
when(mockFirebaseUser.getEmail()).thenReturn(TestConstants.EMAIL);
when(mockFirebaseUser.getDisplayName()).thenReturn(TestConstants.NAME);
when(mockFirebaseUser.getPhotoUrl()).thenReturn(TestConstants.PHOTO_URI);
when(mockFirebaseUser.updateProfile((UserProfileChangeRequest) Mockito.any())).thenReturn(new AutoCompleteTask<Void>(null, true, null));
when(BaseHelperShadow.sFirebaseAuth.createUserWithEmailAndPassword(TestConstants.EMAIL, TestConstants.PASSWORD)).thenReturn(new AutoCompleteTask<AuthResult>(new FakeAuthResult(mockFirebaseUser), true, null));
Button button = (Button) registerEmailActivity.findViewById(R.id.button_create);
button.performClick();
TestHelper.verifySmartLockSave(EmailAuthProvider.PROVIDER_ID, TestConstants.EMAIL, TestConstants.PASSWORD);
}
Aggregations