summaryrefslogtreecommitdiffhomepage
path: root/android/test/e2e/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/test/e2e/src')
-rw-r--r--android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LoginTest.kt44
1 files changed, 26 insertions, 18 deletions
diff --git a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LoginTest.kt b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LoginTest.kt
index 5a5d70fc9f..bfd78422c0 100644
--- a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LoginTest.kt
+++ b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LoginTest.kt
@@ -1,10 +1,9 @@
package net.mullvad.mullvadvpn.test.e2e
-import androidx.test.uiautomator.By
-import net.mullvad.mullvadvpn.test.common.constant.EXTREMELY_LONG_TIMEOUT
-import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer
-import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove
-import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout
+import net.mullvad.mullvadvpn.test.common.page.ConnectPage
+import net.mullvad.mullvadvpn.test.common.page.LoginPage
+import net.mullvad.mullvadvpn.test.common.page.PrivacyPage
+import net.mullvad.mullvadvpn.test.common.page.on
import net.mullvad.mullvadvpn.test.e2e.misc.AccountTestRule
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
@@ -16,30 +15,39 @@ class LoginTest : EndToEndTest(BuildConfig.FLAVOR_infrastructure) {
@Test
fun testLoginWithValidCredentials() {
- // Given
val validTestAccountNumber = accountTestRule.validAccountNumber
- // When
- app.launchAndEnsureLoggedIn(validTestAccountNumber)
+ app.launch()
+
+ on<PrivacyPage> {
+ clickAgreeOnPrivacyDisclaimer()
+ clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove()
+ }
- // Then
- app.ensureLoggedIn()
+ on<LoginPage> {
+ enterAccountNumber(validTestAccountNumber)
+ tapLoginButton()
+ }
+
+ on<ConnectPage>()
}
@Test
@Disabled("Failed login attempts are highly rate limited and cause test flakiness")
fun testLoginWithInvalidCredentials() {
- // Given
val invalidDummyAccountNumber = accountTestRule.invalidAccountNumber
- // When
app.launch()
- device.clickAgreeOnPrivacyDisclaimer()
- device.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove()
- app.waitForLoginPrompt()
- app.attemptLogin(invalidDummyAccountNumber)
- // Then
- device.findObjectWithTimeout(By.text("Invalid account number"), EXTREMELY_LONG_TIMEOUT)
+ on<PrivacyPage> {
+ clickAgreeOnPrivacyDisclaimer()
+ clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove()
+ }
+
+ on<LoginPage> {
+ enterAccountNumber(invalidDummyAccountNumber)
+ tapLoginButton()
+ verifyShowingInvalidAccount()
+ }
}
}