mirror of
https://github.com/bitwarden/android.git
synced 2026-10-23 19:43:26 -05:00
Store information when switching vault add edit types. (#554)
This commit is contained in:
1 parent
aba5de32fb
commit
27ddac59b9
3 files changed
+144
-18
No files matched your search
+83
@@ -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(),
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
Reference in new issue
Block a user