I have login form which sign in the user using firebase and i'm trying to test the login functionality by writing some code and i used Mockito to mock the firebase class but for someone it keeps failing and i think there is something , if someone could help fix the issue , Thank you
- This is my code
@RunWith(AndroidJUnit4ClassRunner::class)
class LoginActivityTest {
@get:Rule
var scenario = ActivityScenarioRule(LoginActivity::class.java)
private lateinit var emailEditText : TextInputLayout
private lateinit var passwordEditText : TextInputLayout
private lateinit var firebaseUser: FirebaseUser
@Test
fun testCaseRealUserLogin(){
scenario.scenario.onActivity { it ->
emailEditText = it.findViewById(R.id.loginEmail)
passwordEditText = it.findViewById(R.id.loginPassword)
}
Looper.prepare()
emailEditText.editText!!.setText("xxxxxx@gmail.com")
passwordEditText.editText!!.setText("xxxxxx")
onView(withId(R.id.loginBtn)).perform(click())
//Mocking firebase
val firebaseMock = mock(FirebaseAuth::class.java)
`when`(firebaseMock.signInWithEmailAndPassword("xxxxxxx","xxxxxxx"))
.thenReturn(notNull())
firebaseUser = firebaseMock.currentUser!!
assertNotNull(firebaseUser)
}
}