Loading app/src/test/java/foundation/e/apps/Shared.kt +3 −1 Original line number Diff line number Diff line Loading @@ -13,3 +13,5 @@ val testAnonymousRequestBodyData = AnonymousAuthDataRequestBody( val testAnonymousResponseData = AuthData("eOS@murena.io", "") const val loginFailureMessage = "Fail to login" val testFailureException: Exception = Exception(loginFailureMessage) No newline at end of file app/src/test/java/foundation/e/apps/presentation/login/LoginViewModelTest.kt +3 −3 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ class LoginViewModelTest { } @Test fun testAnonymousUserLoginStateForSuccess() = runTest{ fun testOnSuccessReturnLogInStateTrue() = runTest{ Mockito.`when`(mockUserLoginUseCase.invoke( properties = testAnonymousRequestBodyData.properties, userAgent = testAnonymousRequestBodyData.userAgent Loading @@ -63,7 +63,7 @@ class LoginViewModelTest { } @Test fun testAnonymousUserLoginStateForFailure() = runTest{ fun testOnFailureReturnLogInStateFalseWithError() = runTest{ Mockito.`when`(mockUserLoginUseCase.invoke( properties = testAnonymousRequestBodyData.properties, userAgent = testAnonymousRequestBodyData.userAgent Loading @@ -82,7 +82,7 @@ class LoginViewModelTest { } @Test fun testAnonymousUserLoginStateForLoading() = runTest{ fun testOnLoadingReturnLogInStateFalse() = runTest{ Mockito.`when`(mockUserLoginUseCase.invoke( properties = testAnonymousRequestBodyData.properties, userAgent = testAnonymousRequestBodyData.userAgent Loading app/src/test/java/foundation/e/apps/usecase/repository/LoginRepositoryTest.kt +24 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ import foundation.e.apps.testAnonymousResponseData import app.lounge.login.anonymous.AnonymousUser import app.lounge.networking.NetworkResult import foundation.e.apps.loginFailureMessage import foundation.e.apps.testFailureException @RunWith(RobolectricTestRunner::class) class LoginRepositoryTest { Loading @@ -35,13 +37,32 @@ class LoginRepositoryTest { } @Test fun testRequestAuthData() = runTest { fun testOnSuccessReturnAuthData() = runTest { Mockito.`when`(anonymousUser.requestAuthData(testAnonymousRequestBodyData)) .thenReturn(NetworkResult.Success(testAnonymousResponseData)) val loginRepository = LoginRepositoryImpl(anonymousUser, instrumentationContext) val result = loginRepository.anonymousUser(testAnonymousRequestBodyData) val result = LoginRepositoryImpl(anonymousUser, instrumentationContext) .run { anonymousUser(testAnonymousRequestBodyData) } Assert.assertNotNull(result) Assert.assertEquals("eOS@murena.io", result.email) } @Test fun testOnFailureReturnErrorWithException() = runTest { Mockito.`when`(anonymousUser.requestAuthData(testAnonymousRequestBodyData)) .thenReturn(NetworkResult.Error( exception = testFailureException, code = 1, errorMessage = loginFailureMessage )) runCatching { LoginRepositoryImpl(anonymousUser, instrumentationContext) .run { anonymousUser(testAnonymousRequestBodyData) } }.onFailure { error -> Assert.assertEquals(testFailureException.message, error.message) } } } Loading
app/src/test/java/foundation/e/apps/Shared.kt +3 −1 Original line number Diff line number Diff line Loading @@ -13,3 +13,5 @@ val testAnonymousRequestBodyData = AnonymousAuthDataRequestBody( val testAnonymousResponseData = AuthData("eOS@murena.io", "") const val loginFailureMessage = "Fail to login" val testFailureException: Exception = Exception(loginFailureMessage) No newline at end of file
app/src/test/java/foundation/e/apps/presentation/login/LoginViewModelTest.kt +3 −3 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ class LoginViewModelTest { } @Test fun testAnonymousUserLoginStateForSuccess() = runTest{ fun testOnSuccessReturnLogInStateTrue() = runTest{ Mockito.`when`(mockUserLoginUseCase.invoke( properties = testAnonymousRequestBodyData.properties, userAgent = testAnonymousRequestBodyData.userAgent Loading @@ -63,7 +63,7 @@ class LoginViewModelTest { } @Test fun testAnonymousUserLoginStateForFailure() = runTest{ fun testOnFailureReturnLogInStateFalseWithError() = runTest{ Mockito.`when`(mockUserLoginUseCase.invoke( properties = testAnonymousRequestBodyData.properties, userAgent = testAnonymousRequestBodyData.userAgent Loading @@ -82,7 +82,7 @@ class LoginViewModelTest { } @Test fun testAnonymousUserLoginStateForLoading() = runTest{ fun testOnLoadingReturnLogInStateFalse() = runTest{ Mockito.`when`(mockUserLoginUseCase.invoke( properties = testAnonymousRequestBodyData.properties, userAgent = testAnonymousRequestBodyData.userAgent Loading
app/src/test/java/foundation/e/apps/usecase/repository/LoginRepositoryTest.kt +24 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ import foundation.e.apps.testAnonymousResponseData import app.lounge.login.anonymous.AnonymousUser import app.lounge.networking.NetworkResult import foundation.e.apps.loginFailureMessage import foundation.e.apps.testFailureException @RunWith(RobolectricTestRunner::class) class LoginRepositoryTest { Loading @@ -35,13 +37,32 @@ class LoginRepositoryTest { } @Test fun testRequestAuthData() = runTest { fun testOnSuccessReturnAuthData() = runTest { Mockito.`when`(anonymousUser.requestAuthData(testAnonymousRequestBodyData)) .thenReturn(NetworkResult.Success(testAnonymousResponseData)) val loginRepository = LoginRepositoryImpl(anonymousUser, instrumentationContext) val result = loginRepository.anonymousUser(testAnonymousRequestBodyData) val result = LoginRepositoryImpl(anonymousUser, instrumentationContext) .run { anonymousUser(testAnonymousRequestBodyData) } Assert.assertNotNull(result) Assert.assertEquals("eOS@murena.io", result.email) } @Test fun testOnFailureReturnErrorWithException() = runTest { Mockito.`when`(anonymousUser.requestAuthData(testAnonymousRequestBodyData)) .thenReturn(NetworkResult.Error( exception = testFailureException, code = 1, errorMessage = loginFailureMessage )) runCatching { LoginRepositoryImpl(anonymousUser, instrumentationContext) .run { anonymousUser(testAnonymousRequestBodyData) } }.onFailure { error -> Assert.assertEquals(testFailureException.message, error.message) } } }