Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43b8e755 authored by Nishant Dande's avatar Nishant Dande
Browse files

Refine test case for domain and ui layer

parent 2abcc41e
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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
+3 −3
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ class LoginViewModelTest {
    }

    @Test
    fun testAnonymousUserLoginStateForSuccess() = runTest{
    fun testOnSuccessReturnLogInStateTrue() = runTest{
        Mockito.`when`(mockUserLoginUseCase.invoke(
            properties = testAnonymousRequestBodyData.properties,
            userAgent = testAnonymousRequestBodyData.userAgent
@@ -63,7 +63,7 @@ class LoginViewModelTest {
    }

    @Test
    fun testAnonymousUserLoginStateForFailure() = runTest{
    fun testOnFailureReturnLogInStateFalseWithError() = runTest{
        Mockito.`when`(mockUserLoginUseCase.invoke(
            properties = testAnonymousRequestBodyData.properties,
            userAgent = testAnonymousRequestBodyData.userAgent
@@ -82,7 +82,7 @@ class LoginViewModelTest {
    }

    @Test
    fun testAnonymousUserLoginStateForLoading() = runTest{
    fun testOnLoadingReturnLogInStateFalse() = runTest{
        Mockito.`when`(mockUserLoginUseCase.invoke(
            properties = testAnonymousRequestBodyData.properties,
            userAgent = testAnonymousRequestBodyData.userAgent
+24 −3
Original line number Diff line number Diff line
@@ -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 {
@@ -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)
        }
    }
}