[PM-26810] Clear password input after successful OTP verification (#6070)

This commit is contained in:
Patrick Honkonen 2025-10-23 09:09:29 -04:00 committed by GitHub
parent 562b48d689
commit bb11b17823
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 14 deletions

View File

@ -317,7 +317,7 @@ class VerifyPasswordViewModel @Inject constructor(
) {
when (action.result) {
is VerifyOtpResult.Verified -> {
mutableStateFlow.update { it.copy(dialog = null) }
mutableStateFlow.update { it.copy(input = "", dialog = null) }
sendEvent(
VerifyPasswordEvent.PasswordVerified(
state.accountSummaryListItem.userId,

View File

@ -236,21 +236,26 @@ class VerifyPasswordViewModelTest : BaseViewModelTest() {
}
@Test
fun `VerifyOtpResultReceive verified should send event`() = runTest {
createViewModel().also { viewModel ->
viewModel.trySendAction(
VerifyPasswordAction.Internal.VerifyOtpResultReceive(
VerifyOtpResult.Verified,
),
)
viewModel.eventFlow.test {
assertEquals(
VerifyPasswordEvent.PasswordVerified(DEFAULT_USER_ID),
awaitItem(),
fun `VerifyOtpResultReceive verified should send event and clear input`() = runTest {
createViewModel(state = DEFAULT_STATE.copy(input = "123"))
.also { viewModel ->
viewModel.trySendAction(
VerifyPasswordAction.Internal.VerifyOtpResultReceive(
VerifyOtpResult.Verified,
),
)
viewModel.eventFlow.test {
assertEquals(
VerifyPasswordEvent.PasswordVerified(DEFAULT_USER_ID),
awaitItem(),
)
}
viewModel.stateFlow.test {
assertEquals(DEFAULT_STATE, awaitItem())
}
}
}
}
@Test