oday
runTest{ }
TestResult
Result.success(obj)
@ExperimentalCoroutinesApi @Inject fun firebaseSignInWithEmail(mock: FirebaseSignInWithEmail) { every { runTest { mock.invoke("anyEmail", "anyPassword") } } returns TestResult }
class FirebaseSignInWithEmail @Inject constructor( private val firebaseAuth: FirebaseAuth ) { suspend operator fun invoke(email: String, password: String): Result<AuthResult> { return suspendCoroutine { cont -> firebaseAuth.signInWithEmailAndPassword(email, password) .addOnSuccessListener { cont.resume(Result.success(it)) } .addOnFailureListener { cont.resumeWith(Result.failure(it)) } } } }
franztesca
A modern programming language that makes developers happier.