1
0
Fork 0

Adds 2 new tests to SearchTest (#4770)

master
Oana Horvath 2019-09-13 20:11:33 +03:00 committed by Sawyer Blatz
parent dd85229c41
commit 8ea836bf13
2 changed files with 22 additions and 11 deletions

View File

@ -27,8 +27,6 @@ class SearchTest {
@Test @Test
fun searchScreenItemsTest() { fun searchScreenItemsTest() {
homeScreen { }.dismissOnboarding()
homeScreen { homeScreen {
}.openSearch { }.openSearch {
verifySearchView() verifySearchView()
@ -41,8 +39,6 @@ class SearchTest {
@Ignore("This test cannot run on virtual devices due to camera permissions being required") @Ignore("This test cannot run on virtual devices due to camera permissions being required")
@Test @Test
fun scanButtonTest() { fun scanButtonTest() {
homeScreen { }.dismissOnboarding()
homeScreen { homeScreen {
}.openSearch { }.openSearch {
clickScanButton() clickScanButton()
@ -54,13 +50,11 @@ class SearchTest {
@Test @Test
fun shortcutButtonTest() { fun shortcutButtonTest() {
homeScreen { }.dismissOnboarding()
homeScreen { homeScreen {
}.openSearch { }.openSearch {
verifySearchWithText() verifySearchWithText()
clickDuckDuckGoEngineButton() clickDuckDuckGoEngineButton()
typeSearch() typeSearch("mozilla")
verifyDuckDuckGoResults() verifyDuckDuckGoResults()
clickDuckDuckGoResult() clickDuckDuckGoResult()
verifyDuckDuckGoURL() verifyDuckDuckGoURL()
@ -69,8 +63,6 @@ class SearchTest {
@Test @Test
fun shortcutSearchEngineSettingsTest() { fun shortcutSearchEngineSettingsTest() {
homeScreen { }.dismissOnboarding()
homeScreen { homeScreen {
}.openSearch { }.openSearch {
scrollToSearchEngineSettings() scrollToSearchEngineSettings()
@ -78,4 +70,14 @@ class SearchTest {
verifySearchEngineSettings() verifySearchEngineSettings()
} }
} }
@Test
fun clearSearchTest() {
homeScreen {
}.openSearch {
typeSearch("test")
clickClearButton()
verifySearchBarEmpty()
}
}
} }

View File

@ -42,6 +42,7 @@ class SearchRobot {
fun verifyDuckDuckGoResults() = assertDuckDuckGoResults() fun verifyDuckDuckGoResults() = assertDuckDuckGoResults()
fun verifyDuckDuckGoURL() = assertDuckDuckGoURL() fun verifyDuckDuckGoURL() = assertDuckDuckGoURL()
fun verifySearchEngineSettings() = assertSearchEngineSettings() fun verifySearchEngineSettings() = assertSearchEngineSettings()
fun verifySearchBarEmpty() = assertSearchBarEmpty()
fun clickScanButton() { fun clickScanButton() {
scanButton().perform(click()) scanButton().perform(click())
@ -59,8 +60,8 @@ class SearchRobot {
shortcutsButton().perform(click()) shortcutsButton().perform(click())
} }
fun typeSearch() { fun typeSearch(searchTerm: String) {
browserToolbarEditView().perform(typeText("Mozilla")) browserToolbarEditView().perform(typeText(searchTerm))
} }
fun clickDuckDuckGoEngineButton() { fun clickDuckDuckGoEngineButton() {
@ -82,6 +83,10 @@ class SearchRobot {
onView(withText("Search engine settings")).perform(click()) onView(withText("Search engine settings")).perform(click())
} }
fun clickClearButton() {
clearButton().perform(click())
}
class Transition { class Transition {
val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
@ -124,6 +129,8 @@ private fun shortcutsButton(): ViewInteraction {
return onView(withId(R.id.searchShortcutsButton)) return onView(withId(R.id.searchShortcutsButton))
} }
private fun clearButton() = onView(withId(R.id.mozac_browser_toolbar_clear_view))
private fun assertDuckDuckGoURL() { private fun assertDuckDuckGoURL() {
onView(allOf(withText(startsWith("https://duckduckgo.com")))) onView(allOf(withText(startsWith("https://duckduckgo.com"))))
.check(matches(ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))) .check(matches(ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)))
@ -158,6 +165,8 @@ private fun assertSearchEngineSettings() =
onView(allOf(withText("Search engine"))) onView(allOf(withText("Search engine")))
.check(matches(ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))) .check(matches(ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)))
private fun assertSearchBarEmpty() = browserToolbarEditView().check(matches(withText("")))
fun searchScreen(interact: SearchRobot.() -> Unit): SearchRobot.Transition { fun searchScreen(interact: SearchRobot.() -> Unit): SearchRobot.Transition {
SearchRobot().interact() SearchRobot().interact()
return SearchRobot.Transition() return SearchRobot.Transition()