summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/test
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-07-04 16:12:32 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-07-04 16:12:32 +0200
commit5300f1663559ebd7a87c699db8e858d13e6fa556 (patch)
tree0081e14129def76d6a57b32232e42411c2fbe10d /android/app/src/test
parent3e5795cbab6866fcd3eafee58d1790fc9e7f1829 (diff)
parent0d5660226494abaf04dc619997bf4d6a27c637d8 (diff)
downloadmullvadvpn-5300f1663559ebd7a87c699db8e858d13e6fa556.tar.xz
mullvadvpn-5300f1663559ebd7a87c699db8e858d13e6fa556.zip
Merge branch 'implement-new-select-location-design-droid-1954'
Diffstat (limited to 'android/app/src/test')
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/CustomListLocationsViewModelTest.kt50
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SearchLocationViewModelTest.kt2
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationListViewModelTest.kt2
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationViewModelTest.kt2
4 files changed, 30 insertions, 26 deletions
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/CustomListLocationsViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/CustomListLocationsViewModelTest.kt
index edb4a9adfe..9b31f8bf24 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/CustomListLocationsViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/CustomListLocationsViewModelTest.kt
@@ -15,7 +15,6 @@ import net.mullvad.mullvadvpn.compose.communication.LocationsChanged
import net.mullvad.mullvadvpn.compose.screen.CustomListLocationsNavArgs
import net.mullvad.mullvadvpn.compose.state.CustomListLocationsData
import net.mullvad.mullvadvpn.compose.state.CustomListLocationsUiState
-import net.mullvad.mullvadvpn.compose.state.RelayLocationListItem
import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule
import net.mullvad.mullvadvpn.lib.common.test.assertLists
import net.mullvad.mullvadvpn.lib.model.CustomList
@@ -25,6 +24,7 @@ import net.mullvad.mullvadvpn.lib.model.GeoLocationId
import net.mullvad.mullvadvpn.lib.model.Ownership
import net.mullvad.mullvadvpn.lib.model.ProviderId
import net.mullvad.mullvadvpn.lib.model.RelayItem
+import net.mullvad.mullvadvpn.lib.ui.component.relaylist.CheckableRelayListItem
import net.mullvad.mullvadvpn.relaylist.descendants
import net.mullvad.mullvadvpn.relaylist.withDescendants
import net.mullvad.mullvadvpn.repository.RelayListRepository
@@ -77,7 +77,7 @@ class CustomListLocationsViewModelTest {
// Arrange
val expectedList =
DUMMY_COUNTRIES.map {
- RelayLocationListItem(
+ CheckableRelayListItem(
item = it,
depth = it.toDepth(),
checked = false,
@@ -118,8 +118,9 @@ class CustomListLocationsViewModelTest {
viewModel.uiState.test {
// Check no selected
val firstState = awaitItem()
- assertIs<Lce.Content<CustomListLocationsData>>(firstState.content)
- assertEquals(emptyList<RelayItem>(), firstState.content.selectedLocations())
+ val firstStateContent = firstState.content
+ assertIs<Lce.Content<CustomListLocationsData>>(firstStateContent)
+ assertEquals(emptyList<RelayItem>(), firstStateContent.selectedLocations())
// Expand country
viewModel.onExpand(DUMMY_COUNTRIES[0], true)
awaitItem()
@@ -130,8 +131,9 @@ class CustomListLocationsViewModelTest {
viewModel.onRelaySelectionClick(DUMMY_COUNTRIES[0], true)
// Check all items selected
val secondState = awaitItem()
- assertIs<Lce.Content<CustomListLocationsData>>(secondState.content)
- assertLists(expectedSelection, secondState.content.selectedLocations())
+ val content = secondState.content
+ assertIs<Lce.Content<CustomListLocationsData>>(content)
+ assertLists(expectedSelection, content.selectedLocations())
}
}
@@ -150,14 +152,14 @@ class CustomListLocationsViewModelTest {
// Act, Assert
viewModel.uiState.test {
// Check initial selected
- val firstState = awaitItem()
- assertIs<Lce.Content<CustomListLocationsData>>(firstState.content)
- assertEquals(initialSelectionIds, firstState.content.selectedLocations())
+ val firstStateContent = awaitItem().content
+ assertIs<Lce.Content<CustomListLocationsData>>(firstStateContent)
+ assertEquals(initialSelectionIds, firstStateContent.selectedLocations())
viewModel.onRelaySelectionClick(DUMMY_COUNTRIES[0].cities[0].relays[0], false)
// Check all items selected
- val secondState = awaitItem()
- assertIs<Lce.Content<CustomListLocationsData>>(secondState.content)
- assertEquals(expectedSelection, secondState.content.selectedLocations())
+ val secondStateContent = awaitItem().content
+ assertIs<Lce.Content<CustomListLocationsData>>(secondStateContent)
+ assertEquals(expectedSelection, secondStateContent.selectedLocations())
}
}
@@ -176,14 +178,14 @@ class CustomListLocationsViewModelTest {
// Act, Assert
viewModel.uiState.test {
- val firstState = awaitItem()
- assertIs<Lce.Content<CustomListLocationsData>>(firstState.content)
- assertEquals(initialSelectionIds, firstState.content.selectedLocations())
+ val firstStateContent = awaitItem().content
+ assertIs<Lce.Content<CustomListLocationsData>>(firstStateContent)
+ assertEquals(initialSelectionIds, firstStateContent.selectedLocations())
viewModel.onRelaySelectionClick(DUMMY_COUNTRIES[0], false)
// Check all items selected
- val secondState = awaitItem()
- assertIs<Lce.Content<CustomListLocationsData>>(secondState.content)
- assertEquals(expectedSelection, secondState.content.selectedLocations())
+ val secondStateContent = awaitItem().content
+ assertIs<Lce.Content<CustomListLocationsData>>(secondStateContent)
+ assertEquals(expectedSelection, secondStateContent.selectedLocations())
}
}
@@ -205,14 +207,14 @@ class CustomListLocationsViewModelTest {
// Expand city
viewModel.onExpand(DUMMY_COUNTRIES[0].cities[0], true)
// Check no selected
- val firstState = awaitItem()
- assertIs<Lce.Content<CustomListLocationsData>>(firstState.content)
- assertEquals(emptyList<RelayItem>(), firstState.content.selectedLocations())
+ val firstStateContent = awaitItem().content
+ assertIs<Lce.Content<CustomListLocationsData>>(firstStateContent)
+ assertEquals(emptyList<RelayItem>(), firstStateContent.selectedLocations())
viewModel.onRelaySelectionClick(DUMMY_COUNTRIES[0].cities[0].relays[0], true)
// Check all items selected
- val secondState = awaitItem()
- assertIs<Lce.Content<CustomListLocationsData>>(secondState.content)
- assertEquals(expectedSelection, secondState.content.selectedLocations())
+ val secondStateContent = awaitItem().content
+ assertIs<Lce.Content<CustomListLocationsData>>(secondStateContent)
+ assertEquals(expectedSelection, secondStateContent.selectedLocations())
}
}
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SearchLocationViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SearchLocationViewModelTest.kt
index 0166bafa98..ad0f87638f 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SearchLocationViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SearchLocationViewModelTest.kt
@@ -8,7 +8,6 @@ import kotlin.test.assertIs
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.runTest
import net.mullvad.mullvadvpn.compose.screen.location.SearchLocationNavArgs
-import net.mullvad.mullvadvpn.compose.state.RelayListItem
import net.mullvad.mullvadvpn.compose.state.RelayListType
import net.mullvad.mullvadvpn.compose.state.SearchLocationUiState
import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule
@@ -18,6 +17,7 @@ import net.mullvad.mullvadvpn.lib.model.GeoLocationId
import net.mullvad.mullvadvpn.lib.model.RelayItem
import net.mullvad.mullvadvpn.lib.model.RelayItemSelection
import net.mullvad.mullvadvpn.lib.model.WireguardConstraints
+import net.mullvad.mullvadvpn.lib.ui.component.relaylist.RelayListItem
import net.mullvad.mullvadvpn.repository.CustomListsRepository
import net.mullvad.mullvadvpn.repository.RelayListFilterRepository
import net.mullvad.mullvadvpn.repository.RelayListRepository
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationListViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationListViewModelTest.kt
index 46994ead49..fb974e52fb 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationListViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationListViewModelTest.kt
@@ -6,7 +6,6 @@ import io.mockk.mockk
import kotlin.test.assertIs
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.runTest
-import net.mullvad.mullvadvpn.compose.state.RelayListItem
import net.mullvad.mullvadvpn.compose.state.RelayListType
import net.mullvad.mullvadvpn.compose.state.SelectLocationListUiState
import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule
@@ -16,6 +15,7 @@ import net.mullvad.mullvadvpn.lib.model.GeoLocationId
import net.mullvad.mullvadvpn.lib.model.RelayItem
import net.mullvad.mullvadvpn.lib.model.RelayItemSelection
import net.mullvad.mullvadvpn.lib.model.Settings
+import net.mullvad.mullvadvpn.lib.ui.component.relaylist.RelayListItem
import net.mullvad.mullvadvpn.repository.RelayListRepository
import net.mullvad.mullvadvpn.repository.SettingsRepository
import net.mullvad.mullvadvpn.repository.WireguardConstraintsRepository
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationViewModelTest.kt
index 304b664dc6..7115cd58c0 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/location/SelectLocationViewModelTest.kt
@@ -108,6 +108,7 @@ class SelectLocationViewModelTest {
val mockRelayItem: RelayItem.Location.Country = mockk()
val relayItemId: GeoLocationId.Country = mockk(relaxed = true)
every { mockRelayItem.id } returns relayItemId
+ every { mockRelayItem.active } returns true
coEvery { mockRelayListRepository.updateSelectedRelayLocation(relayItemId) } returns
Unit.right()
@@ -126,6 +127,7 @@ class SelectLocationViewModelTest {
// Arrange
val mockRelayItem: RelayItem.Location.Country = mockk()
val relayItemId: GeoLocationId.Country = mockk(relaxed = true)
+ every { mockRelayItem.active } returns true
every { mockRelayItem.id } returns relayItemId
coEvery { mockWireguardConstraintsRepository.setEntryLocation(relayItemId) } returns
Unit.right()