diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/SearchTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/SearchTest.kt index 9447d68ab..7a346eb60 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/SearchTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/SearchTest.kt @@ -27,8 +27,6 @@ class SearchTest { @Test fun searchScreenItemsTest() { - homeScreen { }.dismissOnboarding() - homeScreen { }.openSearch { verifySearchView() @@ -41,8 +39,6 @@ class SearchTest { @Ignore("This test cannot run on virtual devices due to camera permissions being required") @Test fun scanButtonTest() { - homeScreen { }.dismissOnboarding() - homeScreen { }.openSearch { clickScanButton() @@ -54,13 +50,11 @@ class SearchTest { @Test fun shortcutButtonTest() { - homeScreen { }.dismissOnboarding() - homeScreen { }.openSearch { verifySearchWithText() clickDuckDuckGoEngineButton() - typeSearch() + typeSearch("mozilla") verifyDuckDuckGoResults() clickDuckDuckGoResult() verifyDuckDuckGoURL() @@ -69,8 +63,6 @@ class SearchTest { @Test fun shortcutSearchEngineSettingsTest() { - homeScreen { }.dismissOnboarding() - homeScreen { }.openSearch { scrollToSearchEngineSettings() @@ -78,4 +70,14 @@ class SearchTest { verifySearchEngineSettings() } } + + @Test + fun clearSearchTest() { + homeScreen { + }.openSearch { + typeSearch("test") + clickClearButton() + verifySearchBarEmpty() + } + } } diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt index f0842fec4..a78b40ba8 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt @@ -42,6 +42,7 @@ class SearchRobot { fun verifyDuckDuckGoResults() = assertDuckDuckGoResults() fun verifyDuckDuckGoURL() = assertDuckDuckGoURL() fun verifySearchEngineSettings() = assertSearchEngineSettings() + fun verifySearchBarEmpty() = assertSearchBarEmpty() fun clickScanButton() { scanButton().perform(click()) @@ -59,8 +60,8 @@ class SearchRobot { shortcutsButton().perform(click()) } - fun typeSearch() { - browserToolbarEditView().perform(typeText("Mozilla")) + fun typeSearch(searchTerm: String) { + browserToolbarEditView().perform(typeText(searchTerm)) } fun clickDuckDuckGoEngineButton() { @@ -82,6 +83,10 @@ class SearchRobot { onView(withText("Search engine settings")).perform(click()) } + fun clickClearButton() { + clearButton().perform(click()) + } + class Transition { val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) @@ -124,6 +129,8 @@ private fun shortcutsButton(): ViewInteraction { return onView(withId(R.id.searchShortcutsButton)) } +private fun clearButton() = onView(withId(R.id.mozac_browser_toolbar_clear_view)) + private fun assertDuckDuckGoURL() { onView(allOf(withText(startsWith("https://duckduckgo.com")))) .check(matches(ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))) @@ -158,6 +165,8 @@ private fun assertSearchEngineSettings() = onView(allOf(withText("Search engine"))) .check(matches(ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))) +private fun assertSearchBarEmpty() = browserToolbarEditView().check(matches(withText(""))) + fun searchScreen(interact: SearchRobot.() -> Unit): SearchRobot.Transition { SearchRobot().interact() return SearchRobot.Transition()