diff options
| author | David Göransson <david.goransson@mullvad.net> | 2024-06-03 16:19:41 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2024-06-04 08:27:03 +0200 |
| commit | 31367c7ef2a6dd77482f2398002526f8cefe0109 (patch) | |
| tree | f10958dc14981ec8d630ca9782e67c0c564de9da /android/app/src/androidTest | |
| parent | 7db4937fd42cb6e91d2d980c3696f8fb37061e21 (diff) | |
| download | mullvadvpn-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.kt | 45 |
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 |
