summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/androidTest
diff options
context:
space:
mode:
Diffstat (limited to 'android/app/src/androidTest')
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreenTest.kt55
1 files changed, 55 insertions, 0 deletions
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
new file mode 100644
index 0000000000..5ed9ac1c8a
--- /dev/null
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreenTest.kt
@@ -0,0 +1,55 @@
+package net.mullvad.mullvadvpn.compose.screen
+
+import androidx.compose.material3.ExperimentalMaterial3Api
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import io.mockk.MockKAnnotations
+import net.mullvad.mullvadvpn.compose.state.SettingsUiState
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+
+class SettingsScreenTest {
+ @get:Rule val composeTestRule = createComposeRule()
+
+ @Before
+ fun setup() {
+ MockKAnnotations.init(this)
+ }
+
+ @Test
+ @OptIn(ExperimentalMaterial3Api::class)
+ fun testLoggedInState() {
+ // Arrange
+ composeTestRule.setContent {
+ SettingsScreen(
+ uiState =
+ SettingsUiState(appVersion = "", isLoggedIn = true, isUpdateAvailable = true)
+ )
+ }
+ // Assert
+ composeTestRule.apply {
+ onNodeWithText("VPN settings").assertExists()
+ onNodeWithText("Split tunneling").assertExists()
+ onNodeWithText("App version").assertExists()
+ }
+ }
+
+ @Test
+ @OptIn(ExperimentalMaterial3Api::class)
+ fun testLoggedOutState() {
+ // Arrange
+ composeTestRule.setContent {
+ SettingsScreen(
+ uiState =
+ SettingsUiState(appVersion = "", isLoggedIn = false, isUpdateAvailable = true)
+ )
+ }
+ // Assert
+ composeTestRule.apply {
+ onNodeWithText("VPN settings").assertDoesNotExist()
+ onNodeWithText("Split tunneling").assertDoesNotExist()
+ onNodeWithText("App version").assertExists()
+ }
+ }
+}