From 418302dbfaeccefab1c69806e2f34c6e48ff1eae Mon Sep 17 00:00:00 2001 From: AndiAJ Date: Mon, 31 Oct 2022 12:23:06 +0200 Subject: [PATCH] For #27522 new changeSearchEnginesBasedOnTextTest UI test --- .../java/org/mozilla/fenix/ui/SettingsSearchTest.kt | 13 +++++++++++++ .../java/org/mozilla/fenix/ui/robots/SearchRobot.kt | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSearchTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSearchTest.kt index 7ecec9759..4380a0400 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSearchTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSearchTest.kt @@ -370,4 +370,17 @@ class SettingsSearchTest { ) } } + + // Expected for en-us defaults + @Test + fun changeSearchEnginesBasedOnTextTest() { + homeScreen { + }.openSearch { + typeSearch("D") + verifySearchEnginePrompt(activityTestRule, "DuckDuckGo") + clickSearchEnginePrompt(activityTestRule, "DuckDuckGo") + }.submitQuery("firefox") { + verifyUrl("duckduckgo.com/?q=firefox") + } + } } 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 a50808cca..6181f3aa3 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 @@ -188,6 +188,8 @@ class SearchRobot { } fun verifySearchSettings() = assertSearchSettings() + fun verifySearchEnginePrompt(rule: ComposeTestRule, searchEngineName: String) = + assertSearchEnginePrompt(rule, searchEngineName) fun verifySearchBarEmpty() = assertSearchBarEmpty() fun verifyKeyboardVisibility() = assertKeyboardVisibility(isExpectedToBeVisible = true) @@ -311,6 +313,9 @@ class SearchRobot { pasteText.click() } + fun clickSearchEnginePrompt(rule: ComposeTestRule, searchEngineName: String) = + rule.onNodeWithText("Search $searchEngineName").performClick() + fun expandSearchSuggestionsList() { onView(allOf(withId(R.id.search_wrapper))).perform( closeSoftKeyboard(), @@ -408,6 +413,14 @@ private fun waitForSearchSuggestions(rule: ComposeTestRule, searchSuggestion: St mDevice.findObject(UiSelector().textContains(searchSuggestion)).waitForExists(waitingTime) } +private fun assertSearchEnginePrompt(rule: ComposeTestRule, searchEngineName: String) { + rule.waitForIdle() + rule.onNodeWithText("Search $searchEngineName").assertIsDisplayed() + rule.onNodeWithText( + getStringResource(R.string.search_engine_suggestions_description), + ).assertIsDisplayed() +} + private fun assertSearchView() = assertTrue( mDevice.findObject(