diff options
3 files changed, 7 insertions, 45 deletions
diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt index 7bf2a5911d..8e731d2554 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt @@ -6,12 +6,14 @@ import android.os.Build import androidx.test.uiautomator.By import androidx.test.uiautomator.UiDevice import androidx.test.uiautomator.Until +import co.touchlab.kermit.Logger import net.mullvad.mullvadvpn.lib.endpoint.ApiEndpointOverride import net.mullvad.mullvadvpn.lib.endpoint.putApiEndpointConfigurationExtra import net.mullvad.mullvadvpn.test.common.constant.DEFAULT_TIMEOUT import net.mullvad.mullvadvpn.test.common.constant.LONG_TIMEOUT import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout import net.mullvad.mullvadvpn.test.common.page.LoginPage +import net.mullvad.mullvadvpn.test.common.page.PrivacyPage import net.mullvad.mullvadvpn.test.common.page.on class AppInteractor( @@ -39,7 +41,7 @@ class AppInteractor( fun launchAndEnsureOnLoginPage() { launch() - clickAgreeOnPrivacyDisclaimer() + on<PrivacyPage> { clickAgreeOnPrivacyDisclaimer() } clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove() on<LoginPage>() } @@ -52,10 +54,6 @@ class AppInteractor( } } - private fun clickAgreeOnPrivacyDisclaimer() { - device.findObjectWithTimeout(By.text("Agree and continue")).click() - } - private fun clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove( timeout: Long = DEFAULT_TIMEOUT ) { @@ -70,10 +68,8 @@ class AppInteractor( try { device.findObjectWithTimeout(selector).click() - } catch (_: IllegalArgumentException) { - throw IllegalArgumentException( - "Failed to allow notification permission within timeout ($timeout ms)" - ) + } catch (e: IllegalArgumentException) { + Logger.e("Failed to allow notification permission within timeout ($timeout ms)", e) } } } diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/PrivacyPage.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/PrivacyPage.kt index f5ca662113..18b1213fc8 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/PrivacyPage.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/PrivacyPage.kt @@ -1,15 +1,11 @@ package net.mullvad.mullvadvpn.test.common.page -import android.os.Build import androidx.test.uiautomator.By -import androidx.test.uiautomator.Until -import net.mullvad.mullvadvpn.test.common.constant.DEFAULT_TIMEOUT import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout class PrivacyPage internal constructor() : Page() { private val privacySelector = By.text("Privacy") private val agreeSelector = By.text("Agree and continue") - private val allowSelector = By.text("Allow") override fun assertIsDisplayed() { uiDevice.findObjectWithTimeout(privacySelector) @@ -18,23 +14,4 @@ class PrivacyPage internal constructor() : Page() { fun clickAgreeOnPrivacyDisclaimer() { uiDevice.findObjectWithTimeout(agreeSelector).click() } - - fun clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove( - timeout: Long = DEFAULT_TIMEOUT - ) { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { - // Skipping as notification permissions are not shown. - return - } - - uiDevice.wait(Until.hasObject(allowSelector), timeout) - - try { - uiDevice.findObjectWithTimeout(allowSelector).click() - } catch (e: IllegalArgumentException) { - throw IllegalArgumentException( - "Failed to allow notification permission within timeout ($timeout)" - ) - } - } } 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 824f9b6aad..24e1cb6e75 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 @@ -2,7 +2,6 @@ package net.mullvad.mullvadvpn.test.e2e 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 @@ -17,12 +16,7 @@ class LoginTest : EndToEndTest() { fun testLoginWithValidCredentials() { val validTestAccountNumber = accountTestRule.validAccountNumber - app.launch() - - on<PrivacyPage> { - clickAgreeOnPrivacyDisclaimer() - clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove() - } + app.launchAndEnsureOnLoginPage() on<LoginPage> { enterAccountNumber(validTestAccountNumber) @@ -37,12 +31,7 @@ class LoginTest : EndToEndTest() { fun testLoginWithInvalidCredentials() { val invalidDummyAccountNumber = accountTestRule.invalidAccountNumber - app.launch() - - on<PrivacyPage> { - clickAgreeOnPrivacyDisclaimer() - clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove() - } + app.launchAndEnsureOnLoginPage() on<LoginPage> { enterAccountNumber(invalidDummyAccountNumber) |
