diff options
Diffstat (limited to 'android/app/src/androidTest')
| -rw-r--r-- | android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/SettingsScreenTest.kt | 55 |
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() + } + } +} |
