summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/androidTest
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-07-30 14:18:10 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-07-30 14:18:10 +0200
commit83a65f5b2568543a5ff09bc90c4fca43ae2d3b0c (patch)
tree426e1981e717f1129dfaf7d01d85e32e0e190440 /android/app/src/androidTest
parent155fa3bc298babfac523e621427d8ca9ac442b97 (diff)
parent4d4677a8fc7ed2339d8c744f8bd93b48e3b90c29 (diff)
downloadmullvadvpn-83a65f5b2568543a5ff09bc90c4fca43ae2d3b0c.tar.xz
mullvadvpn-83a65f5b2568543a5ff09bc90c4fca43ae2d3b0c.zip
Merge branch 'migrate-settings-screens-and-viewmodels-to-new-lce-structure-droid-2088'
Diffstat (limited to 'android/app/src/androidTest')
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreenTest.kt18
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreenTest.kt34
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ShadowsocksSettingsScreenTest.kt19
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreenTest.kt74
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreenTest.kt8
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt184
6 files changed, 188 insertions, 149 deletions
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreenTest.kt
index cf703c26e5..6002ce6044 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreenTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreenTest.kt
@@ -16,6 +16,8 @@ import net.mullvad.mullvadvpn.lib.ui.tag.SERVER_IP_OVERRIDE_IMPORT_TEST_TAG
import net.mullvad.mullvadvpn.lib.ui.tag.SERVER_IP_OVERRIDE_INFO_TEST_TAG
import net.mullvad.mullvadvpn.lib.ui.tag.SERVER_IP_OVERRIDE_MORE_VERT_TEST_TAG
import net.mullvad.mullvadvpn.lib.ui.tag.SERVER_IP_OVERRIDE_RESET_OVERRIDES_TEST_TAG
+import net.mullvad.mullvadvpn.util.Lc
+import net.mullvad.mullvadvpn.util.toLc
import net.mullvad.mullvadvpn.viewmodel.ServerIpOverridesUiState
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
@@ -31,7 +33,7 @@ class ServerIpOverridesScreenTest {
}
private fun ComposeContext.initScreen(
- state: ServerIpOverridesUiState,
+ state: Lc<Boolean, ServerIpOverridesUiState>,
onBackClick: () -> Unit = {},
onInfoClick: () -> Unit = {},
onResetOverridesClick: () -> Unit = {},
@@ -54,7 +56,7 @@ class ServerIpOverridesScreenTest {
fun ensureOverridesInactiveIsDisplayed() =
composeExtension.use {
// Arrange
- initScreen(state = ServerIpOverridesUiState.Loaded(false))
+ initScreen(state = ServerIpOverridesUiState(false).toLc())
// Assert
onNodeWithText("Overrides inactive").assertExists()
@@ -64,7 +66,7 @@ class ServerIpOverridesScreenTest {
fun ensureOverridesActiveIsDisplayed() =
composeExtension.use {
// Arrange
- initScreen(state = ServerIpOverridesUiState.Loaded(true))
+ initScreen(state = ServerIpOverridesUiState(true).toLc())
// Assert
onNodeWithText("Overrides active").assertExists()
@@ -74,7 +76,7 @@ class ServerIpOverridesScreenTest {
fun ensureOverridesActiveShowsWarningOnImport() =
composeExtension.use {
// Arrange
- initScreen(state = ServerIpOverridesUiState.Loaded(true))
+ initScreen(state = ServerIpOverridesUiState(true).toLc())
// Act
onNodeWithTag(testTag = SERVER_IP_OVERRIDE_IMPORT_TEST_TAG).performClick()
@@ -91,7 +93,7 @@ class ServerIpOverridesScreenTest {
composeExtension.use {
// Arrange
val clickHandler: () -> Unit = mockk(relaxed = true)
- initScreen(state = ServerIpOverridesUiState.Loaded(false), onInfoClick = clickHandler)
+ initScreen(state = ServerIpOverridesUiState(false).toLc(), onInfoClick = clickHandler)
// Act
onNodeWithTag(SERVER_IP_OVERRIDE_INFO_TEST_TAG).performClick()
@@ -106,7 +108,7 @@ class ServerIpOverridesScreenTest {
// Arrange
val clickHandler: () -> Unit = mockk(relaxed = true)
initScreen(
- state = ServerIpOverridesUiState.Loaded(true),
+ state = ServerIpOverridesUiState(true).toLc(),
onResetOverridesClick = clickHandler,
)
@@ -124,7 +126,7 @@ class ServerIpOverridesScreenTest {
// Arrange
val clickHandler: () -> Unit = mockk(relaxed = true)
initScreen(
- state = ServerIpOverridesUiState.Loaded(false),
+ state = ServerIpOverridesUiState(false).toLc(),
onImportByFile = clickHandler,
)
@@ -142,7 +144,7 @@ class ServerIpOverridesScreenTest {
// Arrange
val clickHandler: () -> Unit = mockk(relaxed = true)
initScreen(
- state = ServerIpOverridesUiState.Loaded(false),
+ state = ServerIpOverridesUiState(false).toLc(),
onImportByText = clickHandler,
)
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreenTest.kt
index b343c44c95..45967cd7fd 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreenTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreenTest.kt
@@ -8,6 +8,8 @@ import io.mockk.MockKAnnotations
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
import net.mullvad.mullvadvpn.compose.setContentWithTheme
import net.mullvad.mullvadvpn.compose.state.SettingsUiState
+import net.mullvad.mullvadvpn.util.Lc
+import net.mullvad.mullvadvpn.util.toLc
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.RegisterExtension
@@ -22,7 +24,7 @@ class SettingsScreenTest {
}
private fun ComposeContext.initScreen(
- state: SettingsUiState,
+ state: Lc<Unit, SettingsUiState>,
onVpnSettingCellClick: () -> Unit = {},
onSplitTunnelingCellClick: () -> Unit = {},
onAppInfoClick: () -> Unit = {},
@@ -55,13 +57,14 @@ class SettingsScreenTest {
initScreen(
state =
SettingsUiState(
- appVersion = "",
- isLoggedIn = true,
- isSupportedVersion = true,
- isPlayBuild = false,
- multihopEnabled = false,
- isDaitaEnabled = false,
- )
+ appVersion = "",
+ isLoggedIn = true,
+ isSupportedVersion = true,
+ isPlayBuild = false,
+ multihopEnabled = false,
+ isDaitaEnabled = false,
+ )
+ .toLc()
)
// Assert
onNodeWithText("VPN settings").assertExists()
@@ -78,13 +81,14 @@ class SettingsScreenTest {
initScreen(
state =
SettingsUiState(
- appVersion = "",
- isLoggedIn = false,
- isSupportedVersion = true,
- isPlayBuild = false,
- multihopEnabled = false,
- isDaitaEnabled = false,
- )
+ appVersion = "",
+ isLoggedIn = false,
+ isSupportedVersion = true,
+ isPlayBuild = false,
+ multihopEnabled = false,
+ isDaitaEnabled = false,
+ )
+ .toLc()
)
// Assert
onNodeWithText("VPN settings").assertDoesNotExist()
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ShadowsocksSettingsScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ShadowsocksSettingsScreenTest.kt
index e186e93319..0a434875df 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ShadowsocksSettingsScreenTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ShadowsocksSettingsScreenTest.kt
@@ -9,10 +9,12 @@ import io.mockk.mockk
import io.mockk.verify
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
import net.mullvad.mullvadvpn.compose.setContentWithTheme
-import net.mullvad.mullvadvpn.compose.state.ShadowsocksSettingsState
+import net.mullvad.mullvadvpn.compose.state.ShadowsocksSettingsUiState
import net.mullvad.mullvadvpn.lib.model.Constraint
import net.mullvad.mullvadvpn.lib.model.Port
import net.mullvad.mullvadvpn.lib.ui.tag.SHADOWSOCKS_CUSTOM_PORT_TEXT_TEST_TAG
+import net.mullvad.mullvadvpn.util.Lc
+import net.mullvad.mullvadvpn.util.toLc
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.RegisterExtension
@@ -21,8 +23,8 @@ class ShadowsocksSettingsScreenTest {
@JvmField @RegisterExtension val composeExtension = createEdgeToEdgeComposeExtension()
private fun ComposeContext.initScreen(
- state: ShadowsocksSettingsState = ShadowsocksSettingsState(),
- navigateToCustomPortDialog: () -> Unit = {},
+ state: Lc<Unit, ShadowsocksSettingsUiState>,
+ navigateToCustomPortDialog: (port: Port?) -> Unit = {},
onObfuscationPortSelected: (Constraint<Port>) -> Unit = {},
onBackClick: () -> Unit = {},
) {
@@ -40,7 +42,7 @@ class ShadowsocksSettingsScreenTest {
fun testShowShadowsocksCustomPort() =
composeExtension.use {
// Arrange
- initScreen(state = ShadowsocksSettingsState(customPort = Port(4000)))
+ initScreen(state = ShadowsocksSettingsUiState(customPort = Port(4000)).toLc())
// Assert
onNodeWithText("4000").assertExists()
@@ -53,10 +55,11 @@ class ShadowsocksSettingsScreenTest {
val onObfuscationPortSelected: (Constraint<Port>) -> Unit = mockk(relaxed = true)
initScreen(
state =
- ShadowsocksSettingsState(
- port = Constraint.Only(Port(4000)),
- customPort = Port(4000),
- ),
+ ShadowsocksSettingsUiState(
+ port = Constraint.Only(Port(4000)),
+ customPort = Port(4000),
+ )
+ .toLc(),
onObfuscationPortSelected = onObfuscationPortSelected,
)
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreenTest.kt
index c17cb9079b..c3c50dea0f 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreenTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreenTest.kt
@@ -12,7 +12,10 @@ import io.mockk.verify
import net.mullvad.mullvadvpn.applist.AppData
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
import net.mullvad.mullvadvpn.compose.setContentWithTheme
-import net.mullvad.mullvadvpn.compose.state.SplitTunnelingUiState
+import net.mullvad.mullvadvpn.util.Lc
+import net.mullvad.mullvadvpn.util.toLc
+import net.mullvad.mullvadvpn.viewmodel.Loading
+import net.mullvad.mullvadvpn.viewmodel.SplitTunnelingUiState
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
@@ -33,7 +36,7 @@ class SplitTunnelingScreenTest {
}
private fun ComposeContext.initScreen(
- state: SplitTunnelingUiState,
+ state: Lc<Loading, SplitTunnelingUiState>,
onEnableSplitTunneling: (Boolean) -> Unit = {},
onShowSystemAppsClick: (show: Boolean) -> Unit = {},
onExcludeAppClick: (packageName: String) -> Unit = {},
@@ -58,7 +61,7 @@ class SplitTunnelingScreenTest {
fun testLoadingState() =
composeExtension.use {
// Arrange
- initScreen(state = SplitTunnelingUiState.Loading(enabled = true))
+ initScreen(state = Lc.Loading(Loading(enabled = true)))
// Assert
onNodeWithText(TITLE).assertExists()
@@ -86,12 +89,13 @@ class SplitTunnelingScreenTest {
)
initScreen(
state =
- SplitTunnelingUiState.ShowAppList(
- enabled = true,
- excludedApps = listOf(excludedApp),
- includedApps = listOf(includedApp),
- showSystemApps = false,
- )
+ SplitTunnelingUiState(
+ enabled = true,
+ excludedApps = listOf(excludedApp),
+ includedApps = listOf(includedApp),
+ showSystemApps = false,
+ )
+ .toLc()
)
// Assert
@@ -116,12 +120,13 @@ class SplitTunnelingScreenTest {
)
initScreen(
state =
- SplitTunnelingUiState.ShowAppList(
- enabled = true,
- excludedApps = emptyList(),
- includedApps = listOf(includedApp),
- showSystemApps = false,
- )
+ SplitTunnelingUiState(
+ enabled = true,
+ excludedApps = emptyList(),
+ includedApps = listOf(includedApp),
+ showSystemApps = false,
+ )
+ .toLc()
)
// Assert
@@ -153,12 +158,13 @@ class SplitTunnelingScreenTest {
val mockedClickHandler: (String) -> Unit = mockk(relaxed = true)
initScreen(
state =
- SplitTunnelingUiState.ShowAppList(
- enabled = true,
- excludedApps = listOf(excludedApp),
- includedApps = listOf(includedApp),
- showSystemApps = false,
- ),
+ SplitTunnelingUiState(
+ enabled = true,
+ excludedApps = listOf(excludedApp),
+ includedApps = listOf(includedApp),
+ showSystemApps = false,
+ )
+ .toLc(),
onExcludeAppClick = mockedClickHandler,
)
@@ -188,12 +194,13 @@ class SplitTunnelingScreenTest {
val mockedClickHandler: (String) -> Unit = mockk(relaxed = true)
initScreen(
state =
- SplitTunnelingUiState.ShowAppList(
- enabled = true,
- excludedApps = listOf(excludedApp),
- includedApps = listOf(includedApp),
- showSystemApps = false,
- ),
+ SplitTunnelingUiState(
+ enabled = true,
+ excludedApps = listOf(excludedApp),
+ includedApps = listOf(includedApp),
+ showSystemApps = false,
+ )
+ .toLc(),
onIncludeAppClick = mockedClickHandler,
)
@@ -223,12 +230,13 @@ class SplitTunnelingScreenTest {
val mockedClickHandler: (Boolean) -> Unit = mockk(relaxed = true)
initScreen(
state =
- SplitTunnelingUiState.ShowAppList(
- enabled = true,
- excludedApps = listOf(excludedApp),
- includedApps = listOf(includedApp),
- showSystemApps = false,
- ),
+ SplitTunnelingUiState(
+ enabled = true,
+ excludedApps = listOf(excludedApp),
+ includedApps = listOf(includedApp),
+ showSystemApps = false,
+ )
+ .toLc(),
onShowSystemAppsClick = mockedClickHandler,
)
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreenTest.kt
index b128a5054a..04035cd667 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreenTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/Udp2TcpSettingsScreenTest.kt
@@ -7,11 +7,13 @@ import io.mockk.coVerify
import io.mockk.mockk
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
import net.mullvad.mullvadvpn.compose.setContentWithTheme
-import net.mullvad.mullvadvpn.compose.state.Udp2TcpSettingsState
+import net.mullvad.mullvadvpn.compose.state.Udp2TcpSettingsUiState
import net.mullvad.mullvadvpn.lib.model.Constraint
import net.mullvad.mullvadvpn.lib.model.Port
import net.mullvad.mullvadvpn.lib.ui.tag.UDP_OVER_TCP_PORT_ITEM_X_TEST_TAG
import net.mullvad.mullvadvpn.onNodeWithTagAndText
+import net.mullvad.mullvadvpn.util.Lc
+import net.mullvad.mullvadvpn.util.toLc
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.RegisterExtension
@@ -20,7 +22,7 @@ class Udp2TcpSettingsScreenTest {
@JvmField @RegisterExtension val composeExtension = createEdgeToEdgeComposeExtension()
private fun ComposeContext.initScreen(
- state: Udp2TcpSettingsState = Udp2TcpSettingsState(),
+ state: Lc<Unit, Udp2TcpSettingsUiState>,
onObfuscationPortSelected: (Constraint<Port>) -> Unit = {},
navigateUdp2TcpInfo: () -> Unit = {},
onBackClick: () -> Unit = {},
@@ -41,7 +43,7 @@ class Udp2TcpSettingsScreenTest {
// Arrange
val onObfuscationPortSelected: (Constraint<Port>) -> Unit = mockk(relaxed = true)
initScreen(
- state = Udp2TcpSettingsState(port = Constraint.Any),
+ state = Udp2TcpSettingsUiState(port = Constraint.Any).toLc(),
onObfuscationPortSelected = onObfuscationPortSelected,
)
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt
index f2409aef44..310ebcdc6f 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt
@@ -13,6 +13,8 @@ import io.mockk.mockk
import io.mockk.verify
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
import net.mullvad.mullvadvpn.compose.setContentWithTheme
+import net.mullvad.mullvadvpn.compose.state.CustomDnsItem
+import net.mullvad.mullvadvpn.compose.state.VpnSettingsUiState
import net.mullvad.mullvadvpn.lib.model.Constraint
import net.mullvad.mullvadvpn.lib.model.DefaultDnsOptions
import net.mullvad.mullvadvpn.lib.model.IpVersion
@@ -30,8 +32,8 @@ import net.mullvad.mullvadvpn.lib.ui.tag.LAZY_LIST_WIREGUARD_CUSTOM_PORT_TEXT_TE
import net.mullvad.mullvadvpn.lib.ui.tag.LAZY_LIST_WIREGUARD_OBFUSCATION_TITLE_TEST_TAG
import net.mullvad.mullvadvpn.lib.ui.tag.LAZY_LIST_WIREGUARD_PORT_ITEM_X_TEST_TAG
import net.mullvad.mullvadvpn.onNodeWithTagAndText
-import net.mullvad.mullvadvpn.viewmodel.CustomDnsItem
-import net.mullvad.mullvadvpn.viewmodel.VpnSettingsUiState
+import net.mullvad.mullvadvpn.util.Lc
+import net.mullvad.mullvadvpn.util.toLc
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.RegisterExtension
@@ -65,7 +67,7 @@ class VpnSettingsScreenTest {
isContentBlockersExpanded: Boolean = false,
isModal: Boolean = false,
) =
- VpnSettingsUiState.Content.from(
+ VpnSettingsUiState.from(
mtu = mtu,
isLocalNetworkSharingEnabled = isLocalNetworkSharingEnabled,
isCustomDnsEnabled = isCustomDnsEnabled,
@@ -87,7 +89,7 @@ class VpnSettingsScreenTest {
)
private fun ComposeContext.initScreen(
- state: VpnSettingsUiState = createDefaultUiState(),
+ state: Lc<Boolean, VpnSettingsUiState> = createDefaultUiState().toLc(),
navigateToContentBlockersInfo: () -> Unit = {},
navigateToAutoConnectScreen: () -> Unit = {},
navigateToCustomDnsInfo: () -> Unit = {},
@@ -184,6 +186,7 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(mtu = Mtu.fromString(VALID_DUMMY_MTU_VALUE).getOrNull()!!)
+ .toLc()
)
onNodeWithTag(LAZY_LIST_VPN_SETTINGS_TEST_TAG)
@@ -200,14 +203,15 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- isCustomDnsEnabled = true,
- customDnsItems =
- listOf(
- CustomDnsItem(address = DUMMY_DNS_ADDRESS, false, false),
- CustomDnsItem(address = DUMMY_DNS_ADDRESS_2, false, false),
- CustomDnsItem(address = DUMMY_DNS_ADDRESS_3, false, false),
- ),
- )
+ isCustomDnsEnabled = true,
+ customDnsItems =
+ listOf(
+ CustomDnsItem(address = DUMMY_DNS_ADDRESS, false, false),
+ CustomDnsItem(address = DUMMY_DNS_ADDRESS_2, false, false),
+ CustomDnsItem(address = DUMMY_DNS_ADDRESS_3, false, false),
+ ),
+ )
+ .toLc()
)
// Assert
@@ -224,10 +228,11 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- isCustomDnsEnabled = false,
- customDnsItems =
- listOf(CustomDnsItem(address = DUMMY_DNS_ADDRESS, false, false)),
- )
+ isCustomDnsEnabled = false,
+ customDnsItems =
+ listOf(CustomDnsItem(address = DUMMY_DNS_ADDRESS, false, false)),
+ )
+ .toLc()
)
onNodeWithTag(LAZY_LIST_VPN_SETTINGS_TEST_TAG)
.performScrollToNode(hasTestTag(LAZY_LIST_LAST_ITEM_TEST_TAG))
@@ -243,17 +248,18 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- isCustomDnsEnabled = true,
- isLocalNetworkSharingEnabled = true,
- customDnsItems =
- listOf(
- CustomDnsItem(
- address = DUMMY_DNS_ADDRESS,
- isLocal = true,
- isIpv6 = false,
- )
- ),
- )
+ isCustomDnsEnabled = true,
+ isLocalNetworkSharingEnabled = true,
+ customDnsItems =
+ listOf(
+ CustomDnsItem(
+ address = DUMMY_DNS_ADDRESS,
+ isLocal = true,
+ isIpv6 = false,
+ )
+ ),
+ )
+ .toLc()
)
// Assert
@@ -267,16 +273,17 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- isCustomDnsEnabled = true,
- customDnsItems =
- listOf(
- CustomDnsItem(
- address = DUMMY_DNS_ADDRESS,
- isLocal = false,
- isIpv6 = false,
- )
- ),
- )
+ isCustomDnsEnabled = true,
+ customDnsItems =
+ listOf(
+ CustomDnsItem(
+ address = DUMMY_DNS_ADDRESS,
+ isLocal = false,
+ isIpv6 = false,
+ )
+ ),
+ )
+ .toLc()
)
// Assert
@@ -290,16 +297,17 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- isCustomDnsEnabled = true,
- customDnsItems =
- listOf(
- CustomDnsItem(
- address = DUMMY_DNS_ADDRESS,
- isLocal = false,
- isIpv6 = false,
- )
- ),
- )
+ isCustomDnsEnabled = true,
+ customDnsItems =
+ listOf(
+ CustomDnsItem(
+ address = DUMMY_DNS_ADDRESS,
+ isLocal = false,
+ isIpv6 = false,
+ )
+ ),
+ )
+ .toLc()
)
// Assert
@@ -313,16 +321,17 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- isCustomDnsEnabled = true,
- customDnsItems =
- listOf(
- CustomDnsItem(
- address = DUMMY_DNS_ADDRESS,
- isLocal = true,
- isIpv6 = false,
- )
- ),
- )
+ isCustomDnsEnabled = true,
+ customDnsItems =
+ listOf(
+ CustomDnsItem(
+ address = DUMMY_DNS_ADDRESS,
+ isLocal = true,
+ isIpv6 = false,
+ )
+ ),
+ )
+ .toLc()
)
// Assert
@@ -333,7 +342,9 @@ class VpnSettingsScreenTest {
fun testShowSelectedTunnelQuantumOption() =
composeExtension.use {
// Arrange
- initScreen(state = createDefaultUiState(quantumResistant = QuantumResistantState.On))
+ initScreen(
+ state = createDefaultUiState(quantumResistant = QuantumResistantState.On).toLc()
+ )
onNodeWithTag(LAZY_LIST_VPN_SETTINGS_TEST_TAG)
.performScrollToNode(hasTestTag(LAZY_LIST_QUANTUM_ITEM_OFF_TEST_TAG))
@@ -349,7 +360,7 @@ class VpnSettingsScreenTest {
val mockSelectQuantumResistantSettingListener: (QuantumResistantState) -> Unit =
mockk(relaxed = true)
initScreen(
- state = createDefaultUiState(quantumResistant = QuantumResistantState.Auto),
+ state = createDefaultUiState(quantumResistant = QuantumResistantState.Auto).toLc(),
onSelectQuantumResistanceSetting = mockSelectQuantumResistantSettingListener,
)
onNodeWithTag(LAZY_LIST_VPN_SETTINGS_TEST_TAG)
@@ -368,7 +379,8 @@ class VpnSettingsScreenTest {
composeExtension.use {
// Arrange
initScreen(
- state = createDefaultUiState(selectedWireguardPort = Constraint.Only(Port(53)))
+ state =
+ createDefaultUiState(selectedWireguardPort = Constraint.Only(Port(53))).toLc()
)
// Act
@@ -392,7 +404,8 @@ class VpnSettingsScreenTest {
val mockSelectWireguardPortSelectionListener: (Constraint<Port>) -> Unit =
mockk(relaxed = true)
initScreen(
- state = createDefaultUiState(selectedWireguardPort = Constraint.Only(Port(53))),
+ state =
+ createDefaultUiState(selectedWireguardPort = Constraint.Only(Port(53))).toLc(),
onWireguardPortSelected = mockSelectWireguardPortSelectionListener,
)
@@ -417,7 +430,7 @@ class VpnSettingsScreenTest {
fun testShowWireguardCustomPort() =
composeExtension.use {
// Arrange
- initScreen(state = createDefaultUiState(customWireguardPort = Port(4000)))
+ initScreen(state = createDefaultUiState(customWireguardPort = Port(4000)).toLc())
// Act
onNodeWithTag(LAZY_LIST_VPN_SETTINGS_TEST_TAG)
@@ -435,9 +448,10 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- selectedWireguardPort = Constraint.Only(Port(4000)),
- customWireguardPort = Port(4000),
- ),
+ selectedWireguardPort = Constraint.Only(Port(4000)),
+ customWireguardPort = Port(4000),
+ )
+ .toLc(),
onWireguardPortSelected = onWireguardPortSelected,
)
@@ -457,7 +471,10 @@ class VpnSettingsScreenTest {
composeExtension.use {
// Arrange
val mockedClickHandler: (Mtu?) -> Unit = mockk(relaxed = true)
- initScreen(state = createDefaultUiState(), navigateToMtuDialog = mockedClickHandler)
+ initScreen(
+ state = createDefaultUiState().toLc(),
+ navigateToMtuDialog = mockedClickHandler,
+ )
onNodeWithTag(LAZY_LIST_VPN_SETTINGS_TEST_TAG)
.performScrollToNode(hasTestTag(LAZY_LIST_LAST_ITEM_TEST_TAG))
@@ -477,9 +494,10 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- isCustomDnsEnabled = true,
- customDnsItems = listOf(CustomDnsItem("1.1.1.1", false, false)),
- ),
+ isCustomDnsEnabled = true,
+ customDnsItems = listOf(CustomDnsItem("1.1.1.1", false, false)),
+ )
+ .toLc(),
navigateToDns = mockedClickHandler,
)
@@ -497,7 +515,7 @@ class VpnSettingsScreenTest {
// Arrange
initScreen(
- state = createDefaultUiState(),
+ state = createDefaultUiState().toLc(),
navigateToObfuscationInfo = mockedNavigateToObfuscationInfo,
)
@@ -517,7 +535,7 @@ class VpnSettingsScreenTest {
// Arrange
initScreen(
- state = createDefaultUiState(),
+ state = createDefaultUiState().toLc(),
navigateToQuantumResistanceInfo = mockedShowTunnelQuantumInfoClick,
)
@@ -537,7 +555,7 @@ class VpnSettingsScreenTest {
// Arrange
initScreen(
- state = createDefaultUiState(),
+ state = createDefaultUiState().toLc(),
navigateToWireguardPortInfo = mockedClickHandler,
)
@@ -555,7 +573,7 @@ class VpnSettingsScreenTest {
// Arrange
initScreen(
- state = createDefaultUiState(availablePortRanges = availablePortRanges),
+ state = createDefaultUiState(availablePortRanges = availablePortRanges).toLc(),
navigateToWireguardPortDialog = mockedClickHandler,
)
@@ -574,7 +592,7 @@ class VpnSettingsScreenTest {
val mockOnShowCustomPortDialog: (Port?, List<PortRange>) -> Unit = mockk(relaxed = true)
val availablePortRanges = listOf(Port(4000)..Port(5000))
initScreen(
- state = createDefaultUiState(availablePortRanges = availablePortRanges),
+ state = createDefaultUiState(availablePortRanges = availablePortRanges).toLc(),
navigateToWireguardPortDialog = mockOnShowCustomPortDialog,
)
@@ -598,10 +616,11 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- selectedWireguardPort = Constraint.Only(customPort),
- customWireguardPort = customPort,
- availablePortRanges = availablePortRanges,
- ),
+ selectedWireguardPort = Constraint.Only(customPort),
+ customWireguardPort = customPort,
+ availablePortRanges = availablePortRanges,
+ )
+ .toLc(),
navigateToWireguardPortDialog = mockOnShowCustomPortDialog,
)
@@ -618,7 +637,7 @@ class VpnSettingsScreenTest {
fun ensureConnectOnStartIsShownWhenSystemVpnSettingsAvailableIsFalse() =
composeExtension.use {
// Arrange
- initScreen(state = createDefaultUiState(systemVpnSettingsAvailable = false))
+ initScreen(state = createDefaultUiState(systemVpnSettingsAvailable = false).toLc())
// Assert
onNodeWithText("Connect on device start-up").assertExists()
@@ -632,9 +651,10 @@ class VpnSettingsScreenTest {
initScreen(
state =
createDefaultUiState(
- systemVpnSettingsAvailable = false,
- autoStartAndConnectOnBoot = false,
- ),
+ systemVpnSettingsAvailable = false,
+ autoStartAndConnectOnBoot = false,
+ )
+ .toLc(),
onToggleAutoStartAndConnectOnBoot = mockOnToggleAutoStartAndConnectOnBoot,
)