summaryrefslogtreecommitdiffhomepage
path: root/android/test/common/src
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-07-08 16:09:54 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-07-10 13:12:04 +0200
commitbcb4749950f75edd63b2200e4c15fc73479a7fb3 (patch)
treecfaac4be58e42b2fdaed9aad223dd006c851935a /android/test/common/src
parent396e0791d037fd939d9837ee1f2768ad5c73dc49 (diff)
downloadmullvadvpn-bcb4749950f75edd63b2200e4c15fc73479a7fb3.tar.xz
mullvadvpn-bcb4749950f75edd63b2200e4c15fc73479a7fb3.zip
Add e2e test for Google play purchases
Diffstat (limited to 'android/test/common/src')
-rw-r--r--android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/AddTimeBottomSheet.kt25
-rw-r--r--android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/OutOfTimePage.kt4
2 files changed, 29 insertions, 0 deletions
diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/AddTimeBottomSheet.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/AddTimeBottomSheet.kt
new file mode 100644
index 0000000000..ce6a29676c
--- /dev/null
+++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/AddTimeBottomSheet.kt
@@ -0,0 +1,25 @@
+package net.mullvad.mullvadvpn.test.common.page
+
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.UiDevice
+import net.mullvad.mullvadvpn.lib.ui.tag.ADD_TIME_BOTTOM_SHEET_TITLE_TEST_TAG
+import net.mullvad.mullvadvpn.test.common.constant.LONG_TIMEOUT
+import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout
+
+class AddTimeBottomSheet internal constructor() : Page() {
+ private val oneMonthSelector = By.textStartsWith("Add 30 days time")
+
+ override fun assertIsDisplayed() {
+ uiDevice.findObjectWithTimeout(By.res(ADD_TIME_BOTTOM_SHEET_TITLE_TEST_TAG))
+ }
+
+ fun click30days() {
+ uiDevice.findObjectWithTimeout(oneMonthSelector).click()
+ }
+}
+
+fun UiDevice.buyGooglePlayTime() {
+ findObjectWithTimeout(By.text("1-tap buy"), LONG_TIMEOUT)
+ findObjectWithTimeout(By.text("1-tap buy")).click()
+ waitForIdle()
+}
diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/OutOfTimePage.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/OutOfTimePage.kt
index 33e11f4a2e..f3add0e487 100644
--- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/OutOfTimePage.kt
+++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/OutOfTimePage.kt
@@ -10,4 +10,8 @@ class OutOfTimePage internal constructor() : Page() {
override fun assertIsDisplayed() {
uiDevice.findObjectWithTimeout(outOfTimeSelector)
}
+
+ fun clickAddTime() {
+ uiDevice.findObjectWithTimeout(By.text("Add time")).click()
+ }
}