diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsCustomizeTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsCustomizeTest.kt index 787798e37..5a4dc7e66 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsCustomizeTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsCustomizeTest.kt @@ -82,4 +82,16 @@ class SettingsCustomizeTest { verifyUrl(secondWebPage.url.toString()) } } + + @Test + fun pullToRefreshPreferenceTest() { + homeScreen { + }.openThreeDotMenu { + }.openSettings { + }.openCustomizeSubMenu { + verifyPullToRefreshGesturePrefState(isEnabled = true) + clickPullToRefreshToggle() + verifyPullToRefreshGesturePrefState(isEnabled = false) + } + } } diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuCustomizeRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuCustomizeRobot.kt index 440a09097..bdf750af7 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuCustomizeRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuCustomizeRobot.kt @@ -48,6 +48,8 @@ class SettingsSubMenuCustomizeRobot { fun clickSwipeToolbarToSwitchTabToggle() = swipeToolbarToggle.click() + fun clickPullToRefreshToggle() = pullToRefreshToggle.click() + fun verifySwipeToolbarGesturePrefState(isEnabled: Boolean) { swipeToolbarToggle .check( @@ -66,6 +68,24 @@ class SettingsSubMenuCustomizeRobot { ) } + fun verifyPullToRefreshGesturePrefState(isEnabled: Boolean) { + pullToRefreshToggle + .check( + matches( + hasCousin( + allOf( + withClassName(endsWith("Switch")), + if (isEnabled) { + isChecked() + } else { + isNotChecked() + }, + ), + ), + ), + ) + } + class Transition { fun goBack(interact: SettingsRobot.() -> Unit): SettingsRobot.Transition { mDevice.waitForIdle() @@ -103,5 +123,8 @@ private fun deviceModeToggle(): ViewInteraction { private val swipeToolbarToggle = onView(withText(getStringResource(R.string.preference_gestures_swipe_toolbar_switch_tabs))) +private val pullToRefreshToggle = + onView(withText(getStringResource(R.string.preference_gestures_website_pull_to_refresh))) + private fun goBackButton() = onView(allOf(ViewMatchers.withContentDescription("Navigate up")))