Explicitly navigate back from login screen when clicking Not You (#87)

This commit is contained in:
Brian Yencho
2023-10-03 14:38:20 -05:00
committed by GitHub
parent 92981cefd6
commit a736daf3e5
6 changed files with 18 additions and 19 deletions

View File

@@ -31,7 +31,7 @@ class LoginScreenTest : BaseComposeTest() {
}
composeTestRule.setContent {
LoginScreen(
onNavigateToLanding = {},
onNavigateBack = {},
viewModel = viewModel,
)
}
@@ -56,7 +56,7 @@ class LoginScreenTest : BaseComposeTest() {
}
composeTestRule.setContent {
LoginScreen(
onNavigateToLanding = {},
onNavigateBack = {},
viewModel = viewModel,
)
}
@@ -67,10 +67,10 @@ class LoginScreenTest : BaseComposeTest() {
}
@Test
fun `NavigateToLanding should call onNavigateToLanding`() {
var onNavigateToLandingCalled = false
fun `NavigateBack should call onNavigateBack`() {
var onNavigateBackCalled = false
val viewModel = mockk<LoginViewModel>(relaxed = true) {
every { eventFlow } returns flowOf(LoginEvent.NavigateToLanding)
every { eventFlow } returns flowOf(LoginEvent.NavigateBack)
every { stateFlow } returns MutableStateFlow(
LoginState(
emailAddress = "",
@@ -81,11 +81,11 @@ class LoginScreenTest : BaseComposeTest() {
}
composeTestRule.setContent {
LoginScreen(
onNavigateToLanding = { onNavigateToLandingCalled = true },
onNavigateBack = { onNavigateBackCalled = true },
viewModel = viewModel,
)
}
assertTrue(onNavigateToLandingCalled)
assertTrue(onNavigateBackCalled)
}
@Test
@@ -106,7 +106,7 @@ class LoginScreenTest : BaseComposeTest() {
}
composeTestRule.setContent {
LoginScreen(
onNavigateToLanding = {},
onNavigateBack = {},
intentHandler = intentHandler,
viewModel = viewModel,
)

View File

@@ -161,7 +161,7 @@ class LoginViewModelTest : BaseViewModelTest() {
}
@Test
fun `NotYouButtonClick should emit NavigateToLanding`() = runTest {
fun `NotYouButtonClick should emit NavigateBack`() = runTest {
val viewModel = LoginViewModel(
authRepository = mockk {
every { captchaTokenResultFlow } returns flowOf()
@@ -171,7 +171,7 @@ class LoginViewModelTest : BaseViewModelTest() {
viewModel.eventFlow.test {
viewModel.actionChannel.trySend(LoginAction.NotYouButtonClick)
assertEquals(
LoginEvent.NavigateToLanding,
LoginEvent.NavigateBack,
awaitItem(),
)
}