Skip to content

Commit

Permalink
Add filter screen and viewmodel tests
Browse files Browse the repository at this point in the history
Co-Authored-By: Boban Sijuk <[email protected]>
  • Loading branch information
MaryamShaghaghi and Boki91 committed Dec 4, 2023
1 parent a6770c0 commit 017270e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ class FilterScreenTest {
}
composeTestRule.apply {
onNodeWithText("Ownership").performClick()
onNodeWithText("Mullvad owned only").performClick()
onNodeWithText("Mullvad owned only").assertExists()
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import io.mockk.coVerify
import io.mockk.every
import io.mockk.mockk
import io.mockk.unmockkAll
import kotlin.test.assertEquals
import kotlinx.coroutines.cancel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.flowOf
Expand All @@ -23,15 +24,14 @@ import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import kotlin.test.assertEquals

class FilterViewModelTest {
@get:Rule val testCoroutineRule = TestCoroutineRule()
private val mockRelayListFilterUseCase: RelayListFilterUseCase = mockk(relaxed = true)
private lateinit var viewModel: FilterViewModel
private val selectedOwnership =
MutableStateFlow<Constraint<Ownership>>(Constraint.Only(Ownership.MullvadOwned))
private val mockAllProviders =
private val dummyListOfAllProviders =
listOf(
Provider("31173", true),
Provider("100TB", false),
Expand All @@ -57,7 +57,8 @@ class FilterViewModelTest {
@Before
fun setup() {
every { mockRelayListFilterUseCase.selectedOwnership() } returns selectedOwnership
every { mockRelayListFilterUseCase.availableProviders() } returns flowOf(mockAllProviders)
every { mockRelayListFilterUseCase.availableProviders() } returns
flowOf(dummyListOfAllProviders)
every { mockRelayListFilterUseCase.selectedProviders() } returns
flowOf(Constraint.Only(Providers(mockSelectedProviders.map { it.name }.toHashSet())))
viewModel = FilterViewModel(mockRelayListFilterUseCase)
Expand Down Expand Up @@ -99,7 +100,7 @@ class FilterViewModelTest {
@Test
fun testSetAllProviders() = runTest {
// Arrange
val mockProvidersList = mockAllProviders
val mockProvidersList = dummyListOfAllProviders
// Act
viewModel.setAllProviders(true)
// Assert
Expand All @@ -113,7 +114,8 @@ class FilterViewModelTest {
fun testOnApplyButtonClicked() = runTest {
// Arrange
val mockOwnership = Ownership.MullvadOwned.toOwnershipConstraint()
val mockSelectedProviders = mockSelectedProviders.toConstraintProviders(mockAllProviders)
val mockSelectedProviders =
mockSelectedProviders.toConstraintProviders(dummyListOfAllProviders)
// Act
viewModel.onApplyButtonClicked()
// Assert
Expand Down

0 comments on commit 017270e

Please sign in to comment.