diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/verifypassword/VerifyPasswordViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/verifypassword/VerifyPasswordViewModel.kt index 7946cfd878..9cd15fa32a 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/verifypassword/VerifyPasswordViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/verifypassword/VerifyPasswordViewModel.kt @@ -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, diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/verifypassword/VerifyPasswordViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/verifypassword/VerifyPasswordViewModelTest.kt index 9f713293b0..d57b9fb6a3 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/verifypassword/VerifyPasswordViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/verifypassword/VerifyPasswordViewModelTest.kt @@ -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