summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/androidTest
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-06-03 16:19:41 +0200
committerDavid Göransson <david.goransson@mullvad.net>2024-06-04 08:27:03 +0200
commit31367c7ef2a6dd77482f2398002526f8cefe0109 (patch)
treef10958dc14981ec8d630ca9782e67c0c564de9da /android/app/src/androidTest
parent7db4937fd42cb6e91d2d980c3696f8fb37061e21 (diff)
downloadmullvadvpn-31367c7ef2a6dd77482f2398002526f8cefe0109.tar.xz
mullvadvpn-31367c7ef2a6dd77482f2398002526f8cefe0109.zip
Fix colors and add one more test
Diffstat (limited to 'android/app/src/androidTest')
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt45
1 files changed, 44 insertions, 1 deletions
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 15b0d935b2..650c51d641 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
@@ -8,6 +8,7 @@ import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performClick
import androidx.compose.ui.test.performScrollToNode
import io.mockk.MockKAnnotations
+import io.mockk.coVerify
import io.mockk.mockk
import io.mockk.verify
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
@@ -27,6 +28,7 @@ import net.mullvad.mullvadvpn.lib.model.Mtu
import net.mullvad.mullvadvpn.lib.model.Port
import net.mullvad.mullvadvpn.lib.model.PortRange
import net.mullvad.mullvadvpn.lib.model.QuantumResistantState
+import net.mullvad.mullvadvpn.lib.model.SelectedObfuscation
import net.mullvad.mullvadvpn.onNodeWithTagAndText
import net.mullvad.mullvadvpn.viewmodel.CustomDnsItem
import org.junit.jupiter.api.BeforeEach
@@ -209,15 +211,18 @@ class VpnSettingsScreenTest {
}
@Test
- fun testShowTcpOverUdpPortOptions() =
+ fun testSelectTcpOverUdpPortOption() =
composeExtension.use {
// Arrange
+ val onObfuscationPortSelected: (Constraint<Port>) -> Unit = mockk(relaxed = true)
setContentWithTheme {
VpnSettingsScreen(
state =
VpnSettingsUiState.createDefault(
+ selectedObfuscation = SelectedObfuscation.Udp2Tcp,
selectedObfuscationPort = Constraint.Only(Port(5001))
),
+ onObfuscationPortSelected = onObfuscationPortSelected
)
}
@@ -236,6 +241,44 @@ class VpnSettingsScreenTest {
text = "5001"
)
.assertExists()
+ .performClick()
+
+ coVerify(exactly = 1) { onObfuscationPortSelected.invoke(Constraint.Only(Port(5001))) }
+ }
+
+ @Test
+ fun testAttemptSelectTcpOverUdpPortOption() =
+ composeExtension.use {
+ // Arrange
+ val onObfuscationPortSelected: (Constraint<Port>) -> Unit = mockk(relaxed = true)
+ setContentWithTheme {
+ VpnSettingsScreen(
+ state =
+ VpnSettingsUiState.createDefault(
+ selectedObfuscation = SelectedObfuscation.Off,
+ ),
+ onObfuscationPortSelected = onObfuscationPortSelected
+ )
+ }
+
+ // Act
+ onNodeWithTag(LAZY_LIST_TEST_TAG)
+ .performScrollToNode(hasTestTag(LAZY_LIST_UDP_OVER_TCP_PORT_TEST_TAG))
+ onNodeWithText("UDP-over-TCP port").performClick()
+ onNodeWithTag(LAZY_LIST_TEST_TAG)
+ .performScrollToNode(
+ hasTestTag(String.format(LAZY_LIST_UDP_OVER_TCP_PORT_ITEM_X_TEST_TAG, 5001))
+ )
+
+ // Assert
+ onNodeWithTagAndText(
+ testTag = String.format(LAZY_LIST_UDP_OVER_TCP_PORT_ITEM_X_TEST_TAG, 5001),
+ text = "5001"
+ )
+ .assertExists()
+ .performClick()
+
+ verify(exactly = 0) { onObfuscationPortSelected.invoke(any()) }
}
@Test