diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2025-07-30 14:18:10 +0200 |
|---|---|---|
| committer | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2025-07-30 14:18:10 +0200 |
| commit | 83a65f5b2568543a5ff09bc90c4fca43ae2d3b0c (patch) | |
| tree | 426e1981e717f1129dfaf7d01d85e32e0e190440 /android/app/src/androidTest | |
| parent | 155fa3bc298babfac523e621427d8ca9ac442b97 (diff) | |
| parent | 4d4677a8fc7ed2339d8c744f8bd93b48e3b90c29 (diff) | |
| download | mullvadvpn-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')
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, ) |
