Loading app/src/main/java/foundation/e/apps/ui/LoginViewModel.kt +7 −3 Original line number Diff line number Diff line Loading @@ -73,8 +73,7 @@ class LoginViewModel @Inject constructor( */ fun startLoginFlow(clearList: List<StoreType> = listOf()) { viewModelScope.launch { val authObjectsLocal = storeAuthCoordinator.fetchAuthObjects(clearList) authObjects.postValue(authObjectsLocal) fetchAndPostAuthObjects(clearList) } } Loading Loading @@ -127,8 +126,8 @@ class LoginViewModel @Inject constructor( fun initialAnonymousLogin(onUserSaved: () -> Unit) { viewModelScope.launch { anonymousLoginUseCase() fetchAndPostAuthObjects() onUserSaved() startLoginFlow() } } Loading Loading @@ -170,4 +169,9 @@ class LoginViewModel @Inject constructor( authObjects.postValue(listOf()) } } private suspend fun fetchAndPostAuthObjects(clearList: List<StoreType> = listOf()) { val authObjectsLocal = storeAuthCoordinator.fetchAuthObjects(clearList) authObjects.postValue(authObjectsLocal) } } app/src/test/java/foundation/e/apps/login/LoginViewModelTest.kt +19 −0 Original line number Diff line number Diff line Loading @@ -183,4 +183,23 @@ class LoginViewModelTest { assert(userSavedCalls == 0) } @Test fun `initialAnonymousLogin fetches auth before navigating home`() = runTest { val calls = mutableListOf<String>() whenever(anonymousLoginUseCase()).thenAnswer { calls.add("saveUser") Unit } whenever(storeAuthCoordinator.fetchAuthObjects(any())).thenAnswer { calls.add("fetchAuth") emptyList() } loginViewModel.initialAnonymousLogin { calls.add("navigateHome") } assert(calls == listOf("saveUser", "fetchAuth", "navigateHome")) } } Loading
app/src/main/java/foundation/e/apps/ui/LoginViewModel.kt +7 −3 Original line number Diff line number Diff line Loading @@ -73,8 +73,7 @@ class LoginViewModel @Inject constructor( */ fun startLoginFlow(clearList: List<StoreType> = listOf()) { viewModelScope.launch { val authObjectsLocal = storeAuthCoordinator.fetchAuthObjects(clearList) authObjects.postValue(authObjectsLocal) fetchAndPostAuthObjects(clearList) } } Loading Loading @@ -127,8 +126,8 @@ class LoginViewModel @Inject constructor( fun initialAnonymousLogin(onUserSaved: () -> Unit) { viewModelScope.launch { anonymousLoginUseCase() fetchAndPostAuthObjects() onUserSaved() startLoginFlow() } } Loading Loading @@ -170,4 +169,9 @@ class LoginViewModel @Inject constructor( authObjects.postValue(listOf()) } } private suspend fun fetchAndPostAuthObjects(clearList: List<StoreType> = listOf()) { val authObjectsLocal = storeAuthCoordinator.fetchAuthObjects(clearList) authObjects.postValue(authObjectsLocal) } }
app/src/test/java/foundation/e/apps/login/LoginViewModelTest.kt +19 −0 Original line number Diff line number Diff line Loading @@ -183,4 +183,23 @@ class LoginViewModelTest { assert(userSavedCalls == 0) } @Test fun `initialAnonymousLogin fetches auth before navigating home`() = runTest { val calls = mutableListOf<String>() whenever(anonymousLoginUseCase()).thenAnswer { calls.add("saveUser") Unit } whenever(storeAuthCoordinator.fetchAuthObjects(any())).thenAnswer { calls.add("fetchAuth") emptyList() } loginViewModel.initialAnonymousLogin { calls.add("navigateHome") } assert(calls == listOf("saveUser", "fetchAuth", "navigateHome")) } }