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

Commit 28ec2197 authored by Jonathan Klee's avatar Jonathan Klee
Browse files

refactor: remove StartLoginFlowUseCase

Integrate the logic within other Init*LoginUseCase.
parent 5d474398
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
package foundation.e.apps.domain.login

import foundation.e.apps.data.login.core.AuthObject
import foundation.e.apps.data.login.core.StoreType
import foundation.e.apps.data.login.repository.AuthenticatorRepository
import javax.inject.Inject

class StartLoginFlowUseCase @Inject constructor(
    private val authenticatorRepository: AuthenticatorRepository
) {
    suspend operator fun invoke(clearList: List<StoreType>): List<AuthObject> {
        return authenticatorRepository.fetchAuthObjects(clearList)
    }
}
+3 −3
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import foundation.e.apps.R
import foundation.e.apps.data.login.core.AuthObject
import foundation.e.apps.data.login.core.StoreType
import foundation.e.apps.data.login.microg.MicrogLoginManager
import foundation.e.apps.data.login.repository.AuthenticatorRepository
import foundation.e.apps.domain.login.FetchMicrogAccountUseCase
import foundation.e.apps.domain.login.HasMicrogAccountUseCase
import foundation.e.apps.domain.login.InitialAnonymousLoginUseCase
@@ -35,7 +36,6 @@ import foundation.e.apps.domain.login.InitialGoogleLoginUseCase
import foundation.e.apps.domain.login.InitialMicrogLoginUseCase
import foundation.e.apps.domain.login.InitialNoGoogleLoginUseCase
import foundation.e.apps.domain.login.LogoutUseCase
import foundation.e.apps.domain.login.StartLoginFlowUseCase
import foundation.e.apps.ui.parentFragment.LoadingViewModel
import kotlinx.coroutines.launch
import okhttp3.Cache
@@ -48,7 +48,7 @@ import javax.inject.Inject
@HiltViewModel
@Suppress("LongParameterList")
class LoginViewModel @Inject constructor(
    private val startLoginFlowUseCase: StartLoginFlowUseCase,
    private val authenticatorRepository: AuthenticatorRepository,
    private val hasMicrogAccountUseCase: HasMicrogAccountUseCase,
    private val fetchMicrogAccountUseCase: FetchMicrogAccountUseCase,
    private val initialMicrogLoginUseCase: InitialMicrogLoginUseCase,
@@ -78,7 +78,7 @@ class LoginViewModel @Inject constructor(
     */
    fun startLoginFlow(clearList: List<StoreType> = listOf()) {
        viewModelScope.launch {
            val authObjectsLocal = startLoginFlowUseCase(clearList)
            val authObjectsLocal = authenticatorRepository.fetchAuthObjects(clearList)
            authObjects.postValue(authObjectsLocal)
        }
    }
+1 −2
Original line number Diff line number Diff line
@@ -4,9 +4,9 @@ import foundation.e.apps.data.Stores
import foundation.e.apps.data.enums.Source
import foundation.e.apps.data.enums.User
import foundation.e.apps.data.login.state.LoginCoordinator
import io.mockk.every
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.every
import io.mockk.mockk
import kotlinx.coroutines.test.runTest
import org.junit.Test
@@ -21,7 +21,6 @@ class InitialAnonymousLoginUseCaseTest {
    fun invoke_setsAnonymousUser() = runTest {
        every { stores.enableStore(Source.PLAY_STORE) } returns Unit
        coEvery { loginCoordinator.saveUserType(User.ANONYMOUS) } returns Unit

        useCase()

        io.mockk.verify { stores.enableStore(Source.PLAY_STORE) }
+1 −2
Original line number Diff line number Diff line
@@ -5,9 +5,9 @@ import foundation.e.apps.data.enums.Source
import foundation.e.apps.data.enums.User
import foundation.e.apps.data.login.playstore.PlayStoreAuthSource
import foundation.e.apps.data.login.state.LoginCoordinator
import io.mockk.every
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.every
import io.mockk.mockk
import kotlinx.coroutines.test.runTest
import org.junit.Test
@@ -24,7 +24,6 @@ class InitialGoogleLoginUseCaseTest {
        coEvery { loginCoordinator.saveGoogleLogin("email", "oauth") } returns Unit
        coEvery { loginCoordinator.savePlayStoreAuthSource(PlayStoreAuthSource.GOOGLE) } returns Unit
        coEvery { loginCoordinator.saveUserType(User.GOOGLE) } returns Unit

        useCase("email", "oauth")

        io.mockk.verify { stores.enableStore(Source.PLAY_STORE) }
+0 −1
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ class InitialMicrogLoginUseCaseTest {
        val accountName = "user@email"
        val account = android.accounts.Account(accountName, "type")
        val microgAccount = MicrogAccount(account, "token")

        useCase(microgAccount)

        coVerify { stores.enableStore(Source.PLAY_STORE) }
Loading