mirror of
https://github.com/bitwarden/android.git
synced 2026-05-27 06:54:00 -05:00
BIT-1103 Adding the ability to delete totp text (#562)
This commit is contained in:
@@ -32,6 +32,7 @@ import com.x8bit.bitwarden.ui.platform.base.BaseComposeTest
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.FakePermissionManager
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.asText
|
||||
import com.x8bit.bitwarden.ui.util.isProgressBar
|
||||
import com.x8bit.bitwarden.ui.util.onAllNodesWithContentDescriptionAfterScroll
|
||||
import com.x8bit.bitwarden.ui.util.onAllNodesWithTextAfterScroll
|
||||
import com.x8bit.bitwarden.ui.util.onNodeWithContentDescriptionAfterScroll
|
||||
import com.x8bit.bitwarden.ui.util.onNodeWithTextAfterScroll
|
||||
@@ -457,6 +458,25 @@ class VaultAddEditScreenTest : BaseComposeTest() {
|
||||
.assertDoesNotExist()
|
||||
}
|
||||
|
||||
@Suppress("MaxLineLength")
|
||||
@Test
|
||||
fun `in ItemType_Login state the totp text field click on trailing icon should call ClearTotpKeyClick`() {
|
||||
mutableStateFlow.update { currentState ->
|
||||
updateLoginType(currentState) { copy(totp = "TestCode") }
|
||||
}
|
||||
|
||||
composeTestRule
|
||||
.onAllNodesWithContentDescriptionAfterScroll("Delete")
|
||||
.onFirst()
|
||||
.performClick()
|
||||
|
||||
verify {
|
||||
viewModel.trySendAction(
|
||||
VaultAddEditAction.ItemType.LoginType.ClearTotpKeyClick,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("MaxLineLength")
|
||||
@Test
|
||||
fun `in ItemType_Login state clicking the copy totp code button should trigger CopyTotpKeyClick`() {
|
||||
|
||||
@@ -674,6 +674,38 @@ class VaultAddEditViewModelTest : BaseViewModelTest() {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `ClearTotpKeyClick call should clear the totp code`() {
|
||||
val viewModel = createAddVaultItemViewModel(
|
||||
savedStateHandle = createSavedStateHandleWithState(
|
||||
state = createVaultAddItemState(
|
||||
typeContentViewState = createLoginTypeContentViewState(
|
||||
totpCode = "testCode",
|
||||
),
|
||||
),
|
||||
vaultAddEditType = VaultAddEditType.EditItem(DEFAULT_EDIT_ITEM_ID),
|
||||
),
|
||||
)
|
||||
|
||||
val expectedState = loginInitialState.copy(
|
||||
viewState = VaultAddEditState.ViewState.Content(
|
||||
common = createCommonContentViewState(),
|
||||
type = createLoginTypeContentViewState(
|
||||
totpCode = null,
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
viewModel.actionChannel.trySend(
|
||||
VaultAddEditAction.ItemType.LoginType.ClearTotpKeyClick,
|
||||
)
|
||||
|
||||
assertEquals(
|
||||
expectedState,
|
||||
viewModel.stateFlow.value,
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `TotpCodeReceive should update totp code in state`() = runTest {
|
||||
val viewModel = createAddVaultItemViewModel()
|
||||
|
||||
Reference in New Issue
Block a user