Remove edit package (#372)

This commit is contained in:
David Perez
2023-12-12 08:52:51 -06:00
committed by GitHub
parent e86e36c8e5
commit 306cf24c99
6 changed files with 0 additions and 348 deletions

View File

@@ -1,66 +0,0 @@
package com.x8bit.bitwarden.ui.vault.feature.edit
import androidx.compose.ui.test.onNodeWithContentDescription
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performClick
import com.x8bit.bitwarden.ui.platform.base.BaseComposeTest
import io.mockk.every
import io.mockk.mockk
import io.mockk.verify
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow
import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Test
class VaultEditItemScreenTest : BaseComposeTest() {
private var onNavigateBackCalled = false
private val mutableEventFlow = MutableSharedFlow<VaultEditItemEvent>(
extraBufferCapacity = Int.MAX_VALUE,
)
private val mutableStateFlow = MutableStateFlow(DEFAULT_STATE)
private val viewModel = mockk<VaultEditItemViewModel>(relaxed = true) {
every { eventFlow } returns mutableEventFlow
every { stateFlow } returns mutableStateFlow
}
@Before
fun setUp() {
composeTestRule.setContent {
VaultEditItemScreen(
viewModel = viewModel,
onNavigateBack = { onNavigateBackCalled = true },
)
}
}
@Test
fun `NavigateBack event should invoke onNavigateBack`() {
mutableEventFlow.tryEmit(VaultEditItemEvent.NavigateBack)
assertTrue(onNavigateBackCalled)
}
@Test
fun `on close click should send CloseClick event`() {
composeTestRule.onNodeWithContentDescription("Close").performClick()
verify(exactly = 1) {
viewModel.trySendAction(VaultEditItemAction.CloseClick)
}
}
@Test
fun `on save click should send SaveClick event`() {
composeTestRule.onNodeWithText("Save").performClick()
verify(exactly = 1) {
viewModel.trySendAction(VaultEditItemAction.SaveClick)
}
}
}
private const val DEFAULT_VAULT_ITEM_ID: String = "vault_item_id"
private val DEFAULT_STATE: VaultEditItemState = VaultEditItemState(
vaultItemId = DEFAULT_VAULT_ITEM_ID,
)

View File

@@ -1,61 +0,0 @@
package com.x8bit.bitwarden.ui.vault.feature.edit
import androidx.lifecycle.SavedStateHandle
import app.cash.turbine.test
import com.x8bit.bitwarden.ui.platform.base.BaseViewModelTest
import com.x8bit.bitwarden.ui.platform.base.util.asText
import kotlinx.coroutines.test.runTest
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
class VaultEditItemViewModelTest : BaseViewModelTest() {
@Test
fun `initial state should be correct when not set`() {
val viewModel = createViewModel(state = null)
assertEquals(DEFAULT_STATE, viewModel.stateFlow.value)
}
@Test
fun `initial state should be correct when set`() {
val differentVaultItemId = "something_different"
val state = DEFAULT_STATE.copy(vaultItemId = differentVaultItemId)
val viewModel = createViewModel(state = state)
assertEquals(state, viewModel.stateFlow.value)
}
@Test
fun `on CloseClick should emit NavigateBack`() = runTest {
val viewModel = createViewModel()
viewModel.eventFlow.test {
viewModel.trySendAction(VaultEditItemAction.CloseClick)
assertEquals(VaultEditItemEvent.NavigateBack, awaitItem())
}
}
@Test
fun `on SaveClick should emit ShowToast`() = runTest {
val viewModel = createViewModel()
viewModel.eventFlow.test {
viewModel.trySendAction(VaultEditItemAction.SaveClick)
assertEquals(VaultEditItemEvent.ShowToast("Not yet implemented".asText()), awaitItem())
}
}
private fun createViewModel(
state: VaultEditItemState? = DEFAULT_STATE,
vaultItemId: String = VAULT_ITEM_ID,
): VaultEditItemViewModel = VaultEditItemViewModel(
savedStateHandle = SavedStateHandle().apply {
set("state", state)
set("vault_edit_item_id", vaultItemId)
},
)
}
private const val VAULT_ITEM_ID: String = "vault_item_id"
private val DEFAULT_STATE: VaultEditItemState = VaultEditItemState(
vaultItemId = VAULT_ITEM_ID,
)