Create sealed class for the ItemListingType Vault (#659)

This commit is contained in:
David Perez authored and Álison Fernandes committed 2024-06-20 17:08:07 +01:00
1 parent 89a818aeaa
commit dfbfeda0e7
8 files changed
+181 -175

No files matched your search

@@ -168,14 +168,18 @@ class VaultItemListingScreenTest : BaseComposeTest() {
.assertIsDisplayed()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.Trash)
it.copy(itemListingType = VaultItemListingState.ItemListingType.Vault.Trash)
}
composeTestRule
.onNodeWithText(text = "Add an Item")
.assertDoesNotExist()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.Folder(folderId = null))
it.copy(
itemListingType = VaultItemListingState.ItemListingType.Vault.Folder(
folderId = null,
),
)
}
composeTestRule
.onNodeWithText(text = "Add an Item")
@@ -192,14 +196,18 @@ class VaultItemListingScreenTest : BaseComposeTest() {
.assertIsDisplayed()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.Trash)
it.copy(itemListingType = VaultItemListingState.ItemListingType.Vault.Trash)
}
composeTestRule
.onNodeWithText(text = "There are no items in the trash.")
.assertIsDisplayed()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.Folder(folderId = null))
it.copy(
itemListingType = VaultItemListingState.ItemListingType.Vault.Folder(
folderId = null,
),
)
}
composeTestRule
.onNodeWithText(text = "There are no items in this folder.")
@@ -215,7 +223,7 @@ class VaultItemListingScreenTest : BaseComposeTest() {
.assertIsDisplayed()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.Trash)
it.copy(itemListingType = VaultItemListingState.ItemListingType.Vault.Trash)
}
composeTestRule
@@ -223,7 +231,11 @@ class VaultItemListingScreenTest : BaseComposeTest() {
.assertDoesNotExist()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.Folder(folderId = null))
it.copy(
itemListingType = VaultItemListingState.ItemListingType.Vault.Folder(
folderId = null,
),
)
}
composeTestRule
@@ -352,28 +364,28 @@ class VaultItemListingScreenTest : BaseComposeTest() {
.assertIsDisplayed()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.SecureNote)
it.copy(itemListingType = VaultItemListingState.ItemListingType.Vault.SecureNote)
}
composeTestRule
.onNodeWithText(text = "Secure notes")
.assertIsDisplayed()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.Card)
it.copy(itemListingType = VaultItemListingState.ItemListingType.Vault.Card)
}
composeTestRule
.onNodeWithText(text = "Cards")
.assertIsDisplayed()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.Identity)
it.copy(itemListingType = VaultItemListingState.ItemListingType.Vault.Identity)
}
composeTestRule
.onNodeWithText(text = "Identities")
.assertIsDisplayed()
mutableStateFlow.update {
it.copy(itemListingType = VaultItemListingState.ItemListingType.Trash)
it.copy(itemListingType = VaultItemListingState.ItemListingType.Vault.Trash)
}
composeTestRule
.onNodeWithText(text = "Trash")
@@ -381,7 +393,7 @@ class VaultItemListingScreenTest : BaseComposeTest() {
mutableStateFlow.update {
it.copy(
itemListingType = VaultItemListingState.ItemListingType.Folder(
itemListingType = VaultItemListingState.ItemListingType.Vault.Folder(
folderId = "mockId",
folderName = "mockName",
),
@@ -394,7 +406,7 @@ class VaultItemListingScreenTest : BaseComposeTest() {
}
private val DEFAULT_STATE = VaultItemListingState(
itemListingType = VaultItemListingState.ItemListingType.Login,
itemListingType = VaultItemListingState.ItemListingType.Vault.Login,
viewState = VaultItemListingState.ViewState.Loading,
isIconLoadingDisabled = false,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
@@ -525,7 +525,7 @@ class VaultItemListingViewModelTest : BaseViewModelTest() {
@Suppress("MaxLineLength")
private fun createVaultItemListingState(
itemListingType: VaultItemListingState.ItemListingType = VaultItemListingState.ItemListingType.Login,
itemListingType: VaultItemListingState.ItemListingType = VaultItemListingState.ItemListingType.Vault.Login,
viewState: VaultItemListingState.ViewState = VaultItemListingState.ViewState.Loading,
): VaultItemListingState =
VaultItemListingState(
@@ -27,13 +27,13 @@ class VaultItemListingDataExtensionsTest {
)
mapOf(
VaultItemListingState.ItemListingType.Login to true,
VaultItemListingState.ItemListingType.Card to false,
VaultItemListingState.ItemListingType.SecureNote to false,
VaultItemListingState.ItemListingType.Identity to false,
VaultItemListingState.ItemListingType.Trash to false,
VaultItemListingState.ItemListingType.Folder(folderId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Collection(collectionId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Vault.Login to true,
VaultItemListingState.ItemListingType.Vault.Card to false,
VaultItemListingState.ItemListingType.Vault.SecureNote to false,
VaultItemListingState.ItemListingType.Vault.Identity to false,
VaultItemListingState.ItemListingType.Vault.Trash to false,
VaultItemListingState.ItemListingType.Vault.Folder(folderId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Vault.Collection(collectionId = "mockId-1") to true,
)
.forEach { (type, expected) ->
val result = cipherView.determineListingPredicate(
@@ -56,13 +56,13 @@ class VaultItemListingDataExtensionsTest {
)
mapOf(
VaultItemListingState.ItemListingType.Login to false,
VaultItemListingState.ItemListingType.Card to false,
VaultItemListingState.ItemListingType.SecureNote to false,
VaultItemListingState.ItemListingType.Identity to false,
VaultItemListingState.ItemListingType.Trash to true,
VaultItemListingState.ItemListingType.Folder(folderId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Collection(collectionId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Vault.Login to false,
VaultItemListingState.ItemListingType.Vault.Card to false,
VaultItemListingState.ItemListingType.Vault.SecureNote to false,
VaultItemListingState.ItemListingType.Vault.Identity to false,
VaultItemListingState.ItemListingType.Vault.Trash to true,
VaultItemListingState.ItemListingType.Vault.Folder(folderId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Vault.Collection(collectionId = "mockId-1") to false,
)
.forEach { (type, expected) ->
val result = cipherView.determineListingPredicate(
@@ -85,13 +85,13 @@ class VaultItemListingDataExtensionsTest {
)
mapOf(
VaultItemListingState.ItemListingType.Login to false,
VaultItemListingState.ItemListingType.Card to true,
VaultItemListingState.ItemListingType.SecureNote to false,
VaultItemListingState.ItemListingType.Identity to false,
VaultItemListingState.ItemListingType.Trash to false,
VaultItemListingState.ItemListingType.Folder(folderId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Collection(collectionId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Vault.Login to false,
VaultItemListingState.ItemListingType.Vault.Card to true,
VaultItemListingState.ItemListingType.Vault.SecureNote to false,
VaultItemListingState.ItemListingType.Vault.Identity to false,
VaultItemListingState.ItemListingType.Vault.Trash to false,
VaultItemListingState.ItemListingType.Vault.Folder(folderId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Vault.Collection(collectionId = "mockId-1") to true,
)
.forEach { (type, expected) ->
val result = cipherView.determineListingPredicate(
@@ -114,13 +114,13 @@ class VaultItemListingDataExtensionsTest {
)
mapOf(
VaultItemListingState.ItemListingType.Login to false,
VaultItemListingState.ItemListingType.Card to false,
VaultItemListingState.ItemListingType.SecureNote to false,
VaultItemListingState.ItemListingType.Identity to false,
VaultItemListingState.ItemListingType.Trash to true,
VaultItemListingState.ItemListingType.Folder(folderId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Collection(collectionId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Vault.Login to false,
VaultItemListingState.ItemListingType.Vault.Card to false,
VaultItemListingState.ItemListingType.Vault.SecureNote to false,
VaultItemListingState.ItemListingType.Vault.Identity to false,
VaultItemListingState.ItemListingType.Vault.Trash to true,
VaultItemListingState.ItemListingType.Vault.Folder(folderId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Vault.Collection(collectionId = "mockId-1") to false,
)
.forEach { (type, expected) ->
val result = cipherView.determineListingPredicate(
@@ -143,13 +143,13 @@ class VaultItemListingDataExtensionsTest {
)
mapOf(
VaultItemListingState.ItemListingType.Login to false,
VaultItemListingState.ItemListingType.Card to false,
VaultItemListingState.ItemListingType.SecureNote to false,
VaultItemListingState.ItemListingType.Identity to true,
VaultItemListingState.ItemListingType.Trash to false,
VaultItemListingState.ItemListingType.Folder(folderId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Collection(collectionId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Vault.Login to false,
VaultItemListingState.ItemListingType.Vault.Card to false,
VaultItemListingState.ItemListingType.Vault.SecureNote to false,
VaultItemListingState.ItemListingType.Vault.Identity to true,
VaultItemListingState.ItemListingType.Vault.Trash to false,
VaultItemListingState.ItemListingType.Vault.Folder(folderId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Vault.Collection(collectionId = "mockId-1") to true,
)
.forEach { (type, expected) ->
val result = cipherView.determineListingPredicate(
@@ -172,13 +172,13 @@ class VaultItemListingDataExtensionsTest {
)
mapOf(
VaultItemListingState.ItemListingType.Login to false,
VaultItemListingState.ItemListingType.Card to false,
VaultItemListingState.ItemListingType.SecureNote to false,
VaultItemListingState.ItemListingType.Identity to false,
VaultItemListingState.ItemListingType.Trash to true,
VaultItemListingState.ItemListingType.Folder(folderId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Collection(collectionId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Vault.Login to false,
VaultItemListingState.ItemListingType.Vault.Card to false,
VaultItemListingState.ItemListingType.Vault.SecureNote to false,
VaultItemListingState.ItemListingType.Vault.Identity to false,
VaultItemListingState.ItemListingType.Vault.Trash to true,
VaultItemListingState.ItemListingType.Vault.Folder(folderId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Vault.Collection(collectionId = "mockId-1") to false,
)
.forEach { (type, expected) ->
val result = cipherView.determineListingPredicate(
@@ -201,13 +201,13 @@ class VaultItemListingDataExtensionsTest {
)
mapOf(
VaultItemListingState.ItemListingType.Login to false,
VaultItemListingState.ItemListingType.Card to false,
VaultItemListingState.ItemListingType.SecureNote to true,
VaultItemListingState.ItemListingType.Identity to false,
VaultItemListingState.ItemListingType.Trash to false,
VaultItemListingState.ItemListingType.Folder(folderId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Collection(collectionId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Vault.Login to false,
VaultItemListingState.ItemListingType.Vault.Card to false,
VaultItemListingState.ItemListingType.Vault.SecureNote to true,
VaultItemListingState.ItemListingType.Vault.Identity to false,
VaultItemListingState.ItemListingType.Vault.Trash to false,
VaultItemListingState.ItemListingType.Vault.Folder(folderId = "mockId-1") to true,
VaultItemListingState.ItemListingType.Vault.Collection(collectionId = "mockId-1") to true,
)
.forEach { (type, expected) ->
val result = cipherView.determineListingPredicate(
@@ -230,13 +230,13 @@ class VaultItemListingDataExtensionsTest {
)
mapOf(
VaultItemListingState.ItemListingType.Login to false,
VaultItemListingState.ItemListingType.Card to false,
VaultItemListingState.ItemListingType.SecureNote to false,
VaultItemListingState.ItemListingType.Identity to false,
VaultItemListingState.ItemListingType.Trash to true,
VaultItemListingState.ItemListingType.Folder(folderId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Collection(collectionId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Vault.Login to false,
VaultItemListingState.ItemListingType.Vault.Card to false,
VaultItemListingState.ItemListingType.Vault.SecureNote to false,
VaultItemListingState.ItemListingType.Vault.Identity to false,
VaultItemListingState.ItemListingType.Vault.Trash to true,
VaultItemListingState.ItemListingType.Vault.Folder(folderId = "mockId-1") to false,
VaultItemListingState.ItemListingType.Vault.Collection(collectionId = "mockId-1") to false,
)
.forEach { (type, expected) ->
val result = cipherView.determineListingPredicate(
@@ -324,7 +324,7 @@ class VaultItemListingDataExtensionsTest {
createMockCollectionView(number = 3),
)
val result = VaultItemListingState.ItemListingType.Folder(
val result = VaultItemListingState.ItemListingType.Vault.Folder(
folderId = "mockId-1",
folderName = "wrong name",
)
@@ -334,7 +334,7 @@ class VaultItemListingDataExtensionsTest {
)
assertEquals(
VaultItemListingState.ItemListingType.Folder(
VaultItemListingState.ItemListingType.Vault.Folder(
folderId = "mockId-1",
folderName = "mockName-1",
),
@@ -355,7 +355,7 @@ class VaultItemListingDataExtensionsTest {
createMockCollectionView(number = 3),
)
val result = VaultItemListingState.ItemListingType.Collection(
val result = VaultItemListingState.ItemListingType.Vault.Collection(
collectionId = "mockId-1",
collectionName = "wrong name",
)
@@ -365,7 +365,7 @@ class VaultItemListingDataExtensionsTest {
)
assertEquals(
VaultItemListingState.ItemListingType.Collection(
VaultItemListingState.ItemListingType.Vault.Collection(
collectionId = "mockId-1",
collectionName = "mockName-1",
),
@@ -387,14 +387,14 @@ class VaultItemListingDataExtensionsTest {
createMockCollectionView(number = 3),
)
val result = VaultItemListingState.ItemListingType.Login
val result = VaultItemListingState.ItemListingType.Vault.Login
.updateWithAdditionalDataIfNecessary(
folderList = folderViewList,
collectionList = collectionViewList,
)
assertEquals(
VaultItemListingState.ItemListingType.Login,
VaultItemListingState.ItemListingType.Vault.Login,
result,
)
}
@@ -20,9 +20,11 @@ class VaultItemListingTypeExtensionsTest {
assertEquals(
listOf(
VaultItemListingState.ItemListingType.Folder(folderId = "mock"),
VaultItemListingState.ItemListingType.Trash,
VaultItemListingState.ItemListingType.Collection(collectionId = "collectionId"),
VaultItemListingState.ItemListingType.Vault.Folder(folderId = "mock"),
VaultItemListingState.ItemListingType.Vault.Trash,
VaultItemListingState.ItemListingType.Vault.Collection(
collectionId = "collectionId",
),
),
result,
)