New UI test coverage for Toolbar position preference
This commit is contained in:
parent
49ac79df65
commit
61d052b9d6
|
@ -9,6 +9,7 @@ import org.junit.Test
|
|||
import org.mozilla.fenix.helpers.AndroidAssetDispatcher
|
||||
import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
|
||||
import org.mozilla.fenix.helpers.TestAssetHelper
|
||||
import org.mozilla.fenix.helpers.TestHelper.exitMenu
|
||||
import org.mozilla.fenix.ui.robots.homeScreen
|
||||
import org.mozilla.fenix.ui.robots.navigationToolbar
|
||||
|
||||
|
@ -57,6 +58,30 @@ class SettingsCustomizeTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun setToolbarPositionTest() {
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openCustomizeSubMenu {
|
||||
verifyToolbarPositionPreference("Bottom")
|
||||
clickTopToolbarToggle()
|
||||
verifyToolbarPositionPreference("Top")
|
||||
}.goBack {
|
||||
}.goBack {
|
||||
verifyToolbarPosition(defaultPosition = false)
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openCustomizeSubMenu {
|
||||
clickBottomToolbarToggle()
|
||||
verifyToolbarPositionPreference("Bottom")
|
||||
exitMenu()
|
||||
}
|
||||
homeScreen {
|
||||
verifyToolbarPosition(defaultPosition = true)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun swipeToolbarGesturePreferenceOffTest() {
|
||||
val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
|
||||
|
@ -69,8 +94,8 @@ class SettingsCustomizeTest {
|
|||
verifySwipeToolbarGesturePrefState(true)
|
||||
clickSwipeToolbarToSwitchTabToggle()
|
||||
verifySwipeToolbarGesturePrefState(false)
|
||||
}.goBack {
|
||||
}.goBack {}
|
||||
exitMenu()
|
||||
}
|
||||
navigationToolbar {
|
||||
}.enterURLAndEnterToBrowser(firstWebPage.url) {
|
||||
}.openTabDrawer {
|
||||
|
|
|
@ -23,6 +23,8 @@ import androidx.recyclerview.widget.RecyclerView
|
|||
import androidx.test.espresso.Espresso.onView
|
||||
import androidx.test.espresso.action.ViewActions
|
||||
import androidx.test.espresso.action.ViewActions.click
|
||||
import androidx.test.espresso.assertion.PositionAssertions.isCompletelyAbove
|
||||
import androidx.test.espresso.assertion.PositionAssertions.isPartiallyBelow
|
||||
import androidx.test.espresso.assertion.ViewAssertions.matches
|
||||
import androidx.test.espresso.contrib.RecyclerViewActions.actionOnItem
|
||||
import androidx.test.espresso.matcher.RootMatchers
|
||||
|
@ -413,6 +415,17 @@ class HomeScreenRobot {
|
|||
return publisher
|
||||
}
|
||||
|
||||
fun verifyToolbarPosition(defaultPosition: Boolean) {
|
||||
onView(withId(R.id.toolbarLayout))
|
||||
.check(
|
||||
if (defaultPosition) {
|
||||
isPartiallyBelow(withId(R.id.sessionControlRecyclerView))
|
||||
} else {
|
||||
isCompletelyAbove(withId(R.id.homeAppBar))
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
class Transition {
|
||||
|
||||
fun openTabDrawer(interact: TabDrawerRobot.() -> Unit): TabDrawerRobot.Transition {
|
||||
|
|
|
@ -12,9 +12,11 @@ import androidx.test.espresso.ViewInteraction
|
|||
import androidx.test.espresso.action.ViewActions
|
||||
import androidx.test.espresso.assertion.ViewAssertions.matches
|
||||
import androidx.test.espresso.matcher.ViewMatchers
|
||||
import androidx.test.espresso.matcher.ViewMatchers.hasSibling
|
||||
import androidx.test.espresso.matcher.ViewMatchers.isChecked
|
||||
import androidx.test.espresso.matcher.ViewMatchers.isNotChecked
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withClassName
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withId
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withText
|
||||
import org.hamcrest.CoreMatchers.allOf
|
||||
import org.hamcrest.Matchers.endsWith
|
||||
|
@ -46,6 +48,11 @@ class SettingsSubMenuCustomizeRobot {
|
|||
|
||||
fun clickBottomToolbarToggle() = bottomToolbarToggle().click()
|
||||
|
||||
fun verifyToolbarPositionPreference(selectedPosition: String) {
|
||||
onView(withText(selectedPosition))
|
||||
.check(matches(hasSibling(allOf(withId(R.id.radio_button), isChecked()))))
|
||||
}
|
||||
|
||||
fun clickSwipeToolbarToSwitchTabToggle() = swipeToolbarToggle.click()
|
||||
|
||||
fun clickPullToRefreshToggle() = pullToRefreshToggle.click()
|
||||
|
|
Loading…
Reference in New Issue