Add navigation routing for the VaultEditItemScreen (#328)

This commit is contained in:
David Perez
2023-12-06 09:35:36 -06:00
committed by GitHub
parent 0682f37991
commit 13e5ef547d
11 changed files with 71 additions and 14 deletions

View File

@@ -34,6 +34,7 @@ class VaultUnlockedNavBarScreenTest : BaseComposeTest() {
navController = fakeNavHostController,
onNavigateToVaultAddItem = {},
onNavigateToVaultItem = {},
onNavigateToVaultEditItem = {},
onNavigateToNewSend = {},
onNavigateToDeleteAccount = {},
)
@@ -58,6 +59,7 @@ class VaultUnlockedNavBarScreenTest : BaseComposeTest() {
navController = fakeNavHostController,
onNavigateToVaultAddItem = {},
onNavigateToVaultItem = {},
onNavigateToVaultEditItem = {},
onNavigateToNewSend = {},
onNavigateToDeleteAccount = {},
)
@@ -83,6 +85,7 @@ class VaultUnlockedNavBarScreenTest : BaseComposeTest() {
navController = fakeNavHostController,
onNavigateToVaultAddItem = {},
onNavigateToVaultItem = {},
onNavigateToVaultEditItem = {},
onNavigateToNewSend = {},
onNavigateToDeleteAccount = {},
)
@@ -107,6 +110,7 @@ class VaultUnlockedNavBarScreenTest : BaseComposeTest() {
navController = fakeNavHostController,
onNavigateToVaultAddItem = {},
onNavigateToVaultItem = {},
onNavigateToVaultEditItem = {},
onNavigateToNewSend = {},
onNavigateToDeleteAccount = {},
)
@@ -132,6 +136,7 @@ class VaultUnlockedNavBarScreenTest : BaseComposeTest() {
navController = fakeNavHostController,
onNavigateToVaultAddItem = {},
onNavigateToVaultItem = {},
onNavigateToVaultEditItem = {},
onNavigateToNewSend = {},
onNavigateToDeleteAccount = {},
)
@@ -156,6 +161,7 @@ class VaultUnlockedNavBarScreenTest : BaseComposeTest() {
navController = fakeNavHostController,
onNavigateToVaultAddItem = {},
onNavigateToVaultItem = {},
onNavigateToVaultEditItem = {},
onNavigateToNewSend = {},
onNavigateToDeleteAccount = {},
)
@@ -181,6 +187,7 @@ class VaultUnlockedNavBarScreenTest : BaseComposeTest() {
navController = fakeNavHostController,
onNavigateToVaultAddItem = {},
onNavigateToVaultItem = {},
onNavigateToVaultEditItem = {},
onNavigateToNewSend = {},
onNavigateToDeleteAccount = {},
)
@@ -205,6 +212,7 @@ class VaultUnlockedNavBarScreenTest : BaseComposeTest() {
navController = fakeNavHostController,
onNavigateToVaultAddItem = {},
onNavigateToVaultItem = {},
onNavigateToVaultEditItem = {},
onNavigateToNewSend = {},
onNavigateToDeleteAccount = {},
)

View File

@@ -8,12 +8,14 @@ import io.mockk.mockk
import io.mockk.verify
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
class VaultItemScreenTest : BaseComposeTest() {
private var onNavigateBackCalled = false
private var onNavigateToVaultEditItemId: String? = null
private val mutableEventFlow = MutableSharedFlow<VaultItemEvent>(
extraBufferCapacity = Int.MAX_VALUE,
@@ -30,10 +32,18 @@ class VaultItemScreenTest : BaseComposeTest() {
VaultItemScreen(
viewModel = viewModel,
onNavigateBack = { onNavigateBackCalled = true },
onNavigateToVaultEditItem = { onNavigateToVaultEditItemId = it },
)
}
}
@Test
fun `NavigateToEdit event should invoke onNavigateToVaultEditItem`() {
val id = "id1234"
mutableEventFlow.tryEmit(VaultItemEvent.NavigateToEdit(id))
assertEquals(id, onNavigateToVaultEditItemId)
}
@Test
fun `clicking close button should send CloseClick action`() {
composeTestRule.onNodeWithContentDescription(label = "Close").performClick()

View File

@@ -20,6 +20,7 @@ import kotlinx.collections.immutable.persistentListOf
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.update
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Before
@@ -28,7 +29,8 @@ import org.junit.Test
class VaultScreenTest : BaseComposeTest() {
private var onNavigateToVaultAddItemScreenCalled = false
private var onNavigateToVaultItemScreenCalled = false
private var onNavigateToVaultItemId: String? = null
private var onNavigateToVaultEditItemId: String? = null
private var onDimBottomNavBarRequestCalled = false
private val mutableEventFlow = MutableSharedFlow<VaultEvent>(
@@ -46,7 +48,8 @@ class VaultScreenTest : BaseComposeTest() {
VaultScreen(
viewModel = viewModel,
onNavigateToVaultAddItemScreen = { onNavigateToVaultAddItemScreenCalled = true },
onNavigateToVaultItemScreen = { onNavigateToVaultItemScreenCalled = true },
onNavigateToVaultItemScreen = { onNavigateToVaultItemId = it },
onNavigateToVaultEditItemScreen = { onNavigateToVaultEditItemId = it },
onDimBottomNavBarRequest = { onDimBottomNavBarRequestCalled = true },
)
}
@@ -118,9 +121,17 @@ class VaultScreenTest : BaseComposeTest() {
}
@Test
fun `NavigateToVaultItem event should call onNavigateToVaultItemScreenCalled`() {
mutableEventFlow.tryEmit(VaultEvent.NavigateToVaultItem(itemId = "id"))
assertTrue(onNavigateToVaultItemScreenCalled)
fun `NavigateToVaultItem event should call onNavigateToVaultItemScreen`() {
val id = "id4321"
mutableEventFlow.tryEmit(VaultEvent.NavigateToVaultItem(itemId = id))
assertEquals(id, onNavigateToVaultItemId)
}
@Test
fun `NavigateToEditVaultItem event should call onNavigateToVaultEditItemScreen`() {
val id = "id1234"
mutableEventFlow.tryEmit(VaultEvent.NavigateToEditVaultItem(itemId = id))
assertEquals(id, onNavigateToVaultEditItemId)
}
@Test