summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/androidTest
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2023-08-31 15:19:15 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2023-09-01 07:57:22 +0200
commit781bff221837ee2be12f94df6fbd151f57e095ce (patch)
tree2f2ca9cfaea47068ac2f49a42bad11f087034ca3 /android/app/src/androidTest
parentff74284daee2b4b5f9e32f53af0bc17db4bf010e (diff)
downloadmullvadvpn-781bff221837ee2be12f94df6fbd151f57e095ce.tar.xz
mullvadvpn-781bff221837ee2be12f94df6fbd151f57e095ce.zip
Add test for invalid int input to custom port dialog
Diffstat (limited to 'android/app/src/androidTest')
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt28
1 files changed, 28 insertions, 0 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 47f7d8280c..dc190c6bdf 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
@@ -17,6 +17,7 @@ import io.mockk.verifyAll
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.asSharedFlow
import net.mullvad.mullvadvpn.compose.state.VpnSettingsUiState
+import net.mullvad.mullvadvpn.compose.test.CUSTOM_PORT_DIALOG_INPUT_TEST_TAG
import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_LAST_ITEM_TEST_TAG
import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_QUANTUM_ITEM_OFF_TEST_TAG
import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_QUANTUM_ITEM_ON_TEST_TAG
@@ -813,6 +814,33 @@ class VpnSettingsScreenTest {
verify { onWireguardPortSelected.invoke(Constraint.Only(Port(4000))) }
}
+ @Test
+ fun testShowWireguardCustomPortDialogInvalidInt() {
+ // Input a number to make sure that a too long number does not show and it does not crash
+ // the app
+
+ // Arrange
+ composeTestRule.setContent {
+ VpnSettingsScreen(
+ uiState =
+ VpnSettingsUiState.CustomPortDialogUiState(
+ availablePortRanges = listOf(PortRange(53, 53), PortRange(120, 121))
+ ),
+ toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow()
+ )
+ }
+
+ // Act
+ composeTestRule
+ .onNodeWithTag(CUSTOM_PORT_DIALOG_INPUT_TEST_TAG)
+ .performTextInput("21474836471")
+
+ // Assert
+ composeTestRule
+ .onNodeWithTagAndText(CUSTOM_PORT_DIALOG_INPUT_TEST_TAG, "21474836471")
+ .assertDoesNotExist()
+ }
+
companion object {
private const val LOCAL_DNS_SERVER_WARNING =
"The local DNS server will not work unless you enable " +