Store information when switching vault add edit types. (#554)

This commit is contained in:
Ramsey Smith authored and Álison Fernandes committed 2024-06-20 17:08:07 +01:00
1 parent aba5de32fb
commit 27ddac59b9
3 files changed
+144 -18

No files matched your search

@@ -41,6 +41,7 @@ import org.junit.jupiter.api.Nested
import org.junit.jupiter.api.Test
import java.util.UUID
@Suppress("LargeClass")
class VaultAddEditViewModelTest : BaseViewModelTest() {
private val loginInitialState = createVaultAddItemState(
@@ -424,6 +425,88 @@ class VaultAddEditViewModelTest : BaseViewModelTest() {
viewState = VaultAddEditState.ViewState.Content(
common = createCommonContentViewState(),
type = createLoginTypeContentViewState(),
previousItemTypes = mapOf(
VaultAddEditState.ItemTypeOption.LOGIN
to VaultAddEditState.ViewState.Content.ItemType.Login(),
),
),
)
assertEquals(
expectedState,
viewModel.stateFlow.value,
)
}
@Test
fun `TypeOptionSelect CARD should switch to CardItem`() = runTest {
val viewModel = createAddVaultItemViewModel()
val action = VaultAddEditAction.Common.TypeOptionSelect(
VaultAddEditState.ItemTypeOption.CARD,
)
viewModel.actionChannel.trySend(action)
val expectedState = loginInitialState.copy(
viewState = VaultAddEditState.ViewState.Content(
common = createCommonContentViewState(),
type = VaultAddEditState.ViewState.Content.ItemType.Card(),
previousItemTypes = mapOf(
VaultAddEditState.ItemTypeOption.LOGIN
to VaultAddEditState.ViewState.Content.ItemType.Login(),
),
),
)
assertEquals(
expectedState,
viewModel.stateFlow.value,
)
}
@Test
fun `TypeOptionSelect IDENTITY should switch to IdentityItem`() = runTest {
val viewModel = createAddVaultItemViewModel()
val action = VaultAddEditAction.Common.TypeOptionSelect(
VaultAddEditState.ItemTypeOption.IDENTITY,
)
viewModel.actionChannel.trySend(action)
val expectedState = loginInitialState.copy(
viewState = VaultAddEditState.ViewState.Content(
common = createCommonContentViewState(),
type = VaultAddEditState.ViewState.Content.ItemType.Identity(),
previousItemTypes = mapOf(
VaultAddEditState.ItemTypeOption.LOGIN
to VaultAddEditState.ViewState.Content.ItemType.Login(),
),
),
)
assertEquals(
expectedState,
viewModel.stateFlow.value,
)
}
@Test
fun `TypeOptionSelect SECURE_NOTES should switch to SecureNotesItem`() = runTest {
val viewModel = createAddVaultItemViewModel()
val action = VaultAddEditAction.Common.TypeOptionSelect(
VaultAddEditState.ItemTypeOption.SECURE_NOTES,
)
viewModel.actionChannel.trySend(action)
val expectedState = loginInitialState.copy(
viewState = VaultAddEditState.ViewState.Content(
common = createCommonContentViewState(),
type = VaultAddEditState.ViewState.Content.ItemType.SecureNotes,
previousItemTypes = mapOf(
VaultAddEditState.ItemTypeOption.LOGIN
to VaultAddEditState.ViewState.Content.ItemType.Login(),
),
),
)