Skip to content

Commit 97195b4

Browse files
Oana Horvathpkirakosyan
Oana Horvath
authored andcommitted
Re-organize existing tests to their own SettingsSearchTest class
1 parent 5340649 commit 97195b4

File tree

5 files changed

+186
-137
lines changed

5 files changed

+186
-137
lines changed

app/src/androidTest/java/org/mozilla/fenix/ui/SettingsBasicsTest.kt

-55
Original file line numberDiff line numberDiff line change
@@ -88,61 +88,6 @@ class SettingsBasicsTest {
8888
}
8989
}
9090

91-
@Test
92-
fun searchSettingsItemsTest() {
93-
homeScreen {
94-
}.openThreeDotMenu {
95-
}.openSettings {
96-
}.openSearchSubMenu {
97-
verifySearchToolbar()
98-
verifyDefaultSearchEngineHeader()
99-
verifySearchEngineList()
100-
}
101-
}
102-
103-
@Test
104-
fun selectNewDefaultSearchEngine() {
105-
// Goes through the settings and changes the default search engine, then verifies it has changed.
106-
homeScreen {
107-
}.openThreeDotMenu {
108-
}.openSettings {
109-
}.openSearchSubMenu {
110-
changeDefaultSearchEngine("DuckDuckGo")
111-
}.goBack {
112-
}.goBack {
113-
verifyDefaultSearchEngine("DuckDuckGo")
114-
}
115-
}
116-
117-
@Test
118-
fun toggleShowVisitedSitesAndBookmarks() {
119-
// Bookmarks a few websites, toggles the history and bookmarks setting to off, then verifies if the visited and bookmarked websites do not show in the suggestions.
120-
val page1 = getGenericAsset(mockWebServer, 1)
121-
val page2 = getGenericAsset(mockWebServer, 2)
122-
val page3 = getGenericAsset(mockWebServer, 3)
123-
124-
homeScreen {
125-
}.openNavigationToolbar {
126-
}.enterURLAndEnterToBrowser(page1.url) {
127-
}.openThreeDotMenu {
128-
}.bookmarkPage { }
129-
130-
navigationToolbar {
131-
}.enterURLAndEnterToBrowser(page2.url) {
132-
verifyUrl(page2.url.toString())
133-
}.openThreeDotMenu {
134-
}.bookmarkPage { }
135-
136-
navigationToolbar {
137-
}.enterURLAndEnterToBrowser(page3.url) {
138-
mDevice.waitForIdle()
139-
}
140-
141-
navigationToolbar {
142-
verifyNoHistoryBookmarks()
143-
}
144-
}
145-
14691
@Test
14792
fun changeThemeSetting() {
14893
// Goes through the settings and changes the default search engine, then verifies it changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
package org.mozilla.fenix.ui
2+
3+
import androidx.compose.ui.test.junit4.AndroidComposeTestRule
4+
import androidx.test.platform.app.InstrumentationRegistry
5+
import androidx.test.uiautomator.UiDevice
6+
import okhttp3.mockwebserver.MockWebServer
7+
import org.junit.After
8+
import org.junit.Before
9+
import org.junit.Ignore
10+
import org.junit.Rule
11+
import org.junit.Test
12+
import org.mozilla.fenix.customannotations.SmokeTest
13+
import org.mozilla.fenix.helpers.AndroidAssetDispatcher
14+
import org.mozilla.fenix.helpers.FeatureSettingsHelper
15+
import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
16+
import org.mozilla.fenix.helpers.TestAssetHelper.getGenericAsset
17+
import org.mozilla.fenix.ui.robots.homeScreen
18+
import org.mozilla.fenix.ui.robots.navigationToolbar
19+
20+
class SettingsSearchTest {
21+
private val mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
22+
private lateinit var mockWebServer: MockWebServer
23+
private val featureSettingsHelper = FeatureSettingsHelper()
24+
25+
@get:Rule
26+
val activityTestRule = AndroidComposeTestRule(
27+
HomeActivityIntentTestRule()
28+
) { it.activity }
29+
30+
@Before
31+
fun setUp() {
32+
mockWebServer = MockWebServer().apply {
33+
dispatcher = AndroidAssetDispatcher()
34+
start()
35+
}
36+
featureSettingsHelper.setJumpBackCFREnabled(false)
37+
}
38+
39+
@After
40+
fun tearDown() {
41+
mockWebServer.shutdown()
42+
43+
// resetting modified features enabled setting to default
44+
featureSettingsHelper.resetAllFeatureFlags()
45+
}
46+
47+
@Test
48+
fun searchSettingsItemsTest() {
49+
homeScreen {
50+
}.openThreeDotMenu {
51+
}.openSettings {
52+
}.openSearchSubMenu {
53+
verifySearchToolbar()
54+
verifyDefaultSearchEngineHeader()
55+
verifySearchEngineList()
56+
}
57+
}
58+
59+
@Test
60+
fun selectNewDefaultSearchEngine() {
61+
// Goes through the settings and changes the default search engine, then verifies it has changed.
62+
homeScreen {
63+
}.openThreeDotMenu {
64+
}.openSettings {
65+
}.openSearchSubMenu {
66+
changeDefaultSearchEngine("DuckDuckGo")
67+
}.goBack {
68+
}.goBack {
69+
verifyDefaultSearchEngine("DuckDuckGo")
70+
}
71+
}
72+
73+
@Test
74+
fun toggleShowVisitedSitesAndBookmarks() {
75+
// Bookmarks a few websites, toggles the history and bookmarks setting to off, then verifies if the visited and bookmarked websites do not show in the suggestions.
76+
val page1 = getGenericAsset(mockWebServer, 1)
77+
val page2 = getGenericAsset(mockWebServer, 2)
78+
val page3 = getGenericAsset(mockWebServer, 3)
79+
80+
homeScreen {
81+
}.openNavigationToolbar {
82+
}.enterURLAndEnterToBrowser(page1.url) {
83+
}.openThreeDotMenu {
84+
}.bookmarkPage { }
85+
86+
navigationToolbar {
87+
}.enterURLAndEnterToBrowser(page2.url) {
88+
verifyUrl(page2.url.toString())
89+
}.openThreeDotMenu {
90+
}.bookmarkPage { }
91+
92+
navigationToolbar {
93+
}.enterURLAndEnterToBrowser(page3.url) {
94+
mDevice.waitForIdle()
95+
}
96+
97+
navigationToolbar {
98+
verifyNoHistoryBookmarks()
99+
}
100+
}
101+
102+
@SmokeTest
103+
@Test
104+
// Ads a new search engine from the list of custom engines
105+
fun addPredefinedSearchEngineTest() {
106+
val searchEngine = "Reddit"
107+
108+
homeScreen {
109+
}.openThreeDotMenu {
110+
}.openSettings {
111+
}.openSearchSubMenu {
112+
openAddSearchEngineMenu()
113+
verifyAddSearchEngineList()
114+
addNewSearchEngine(searchEngine)
115+
verifyEngineListContains(searchEngine)
116+
}.goBack {
117+
}.goBack {
118+
}.openSearch {
119+
verifyKeyboardVisibility()
120+
clickSearchEngineShortcutButton()
121+
verifyEnginesListShortcutContains(activityTestRule, searchEngine)
122+
changeDefaultSearchEngine(activityTestRule, searchEngine)
123+
}.submitQuery("mozilla ") {
124+
verifyUrl(searchEngine)
125+
}
126+
}
127+
128+
@SmokeTest
129+
@Test
130+
// Verifies setting as default a customized search engine name and URL
131+
@Ignore("Failing intermittently https://github.com/mozilla-mobile/fenix/issues/22256")
132+
fun editCustomSearchEngineTest() {
133+
val searchEngine = object {
134+
var title = "Elefant"
135+
var url = "https://www.elefant.ro/search?SearchTerm=%s"
136+
var newTitle = "Test"
137+
}
138+
139+
homeScreen {
140+
}.openThreeDotMenu {
141+
}.openSettings {
142+
}.openSearchSubMenu {
143+
openAddSearchEngineMenu()
144+
selectAddCustomSearchEngine()
145+
typeCustomEngineDetails(searchEngine.title, searchEngine.url)
146+
saveNewSearchEngine()
147+
openEngineOverflowMenu(searchEngine.title)
148+
clickEdit()
149+
typeCustomEngineDetails(searchEngine.newTitle, searchEngine.url)
150+
saveEditSearchEngine()
151+
changeDefaultSearchEngine(searchEngine.newTitle)
152+
}.goBack {
153+
}.goBack {
154+
}.openSearch {
155+
verifyDefaultSearchEngine(searchEngine.newTitle)
156+
clickSearchEngineShortcutButton()
157+
verifyEnginesListShortcutContains(activityTestRule, searchEngine.newTitle)
158+
}
159+
}
160+
161+
@SmokeTest
162+
@Test
163+
// Test running on beta/release builds in CI:
164+
// caution when making changes to it, so they don't block the builds
165+
// Goes through the settings and changes the search suggestion toggle, then verifies it changes.
166+
fun toggleSearchSuggestionsTest() {
167+
168+
homeScreen {
169+
}.openSearch {
170+
typeSearch("mozilla")
171+
verifySearchEngineSuggestionResults(activityTestRule, "mozilla firefox")
172+
}.dismissSearchBar {
173+
}.openThreeDotMenu {
174+
}.openSettings {
175+
}.openSearchSubMenu {
176+
disableShowSearchSuggestions()
177+
}.goBack {
178+
}.goBack {
179+
}.openSearch {
180+
typeSearch("mozilla")
181+
verifyNoSuggestionsAreDisplayed(activityTestRule, "mozilla firefox")
182+
}
183+
}
184+
}

app/src/androidTest/java/org/mozilla/fenix/ui/SmokeTest.kt

-80
Original file line numberDiff line numberDiff line change
@@ -483,86 +483,6 @@ class SmokeTest {
483483
}
484484
}
485485

486-
@Test
487-
// Ads a new search engine from the list of custom engines
488-
fun addPredefinedSearchEngineTest() {
489-
val searchEngine = "Reddit"
490-
491-
homeScreen {
492-
}.openThreeDotMenu {
493-
}.openSettings {
494-
}.openSearchSubMenu {
495-
openAddSearchEngineMenu()
496-
verifyAddSearchEngineList()
497-
addNewSearchEngine(searchEngine)
498-
verifyEngineListContains(searchEngine)
499-
}.goBack {
500-
}.goBack {
501-
}.openSearch {
502-
verifyKeyboardVisibility()
503-
clickSearchEngineShortcutButton()
504-
verifyEnginesListShortcutContains(activityTestRule, searchEngine)
505-
changeDefaultSearchEngine(activityTestRule, searchEngine)
506-
}.submitQuery("mozilla ") {
507-
verifyUrl(searchEngine)
508-
}
509-
}
510-
511-
@Test
512-
// Verifies setting as default a customized search engine name and URL
513-
@Ignore("Failing intermittently https://github.com/mozilla-mobile/fenix/issues/22256")
514-
fun editCustomSearchEngineTest() {
515-
val searchEngine = object {
516-
var title = "Elefant"
517-
var url = "https://www.elefant.ro/search?SearchTerm=%s"
518-
var newTitle = "Test"
519-
}
520-
521-
homeScreen {
522-
}.openThreeDotMenu {
523-
}.openSettings {
524-
}.openSearchSubMenu {
525-
openAddSearchEngineMenu()
526-
selectAddCustomSearchEngine()
527-
typeCustomEngineDetails(searchEngine.title, searchEngine.url)
528-
saveNewSearchEngine()
529-
openEngineOverflowMenu(searchEngine.title)
530-
clickEdit()
531-
typeCustomEngineDetails(searchEngine.newTitle, searchEngine.url)
532-
saveEditSearchEngine()
533-
changeDefaultSearchEngine(searchEngine.newTitle)
534-
}.goBack {
535-
}.goBack {
536-
}.openSearch {
537-
verifyDefaultSearchEngine(searchEngine.newTitle)
538-
clickSearchEngineShortcutButton()
539-
verifyEnginesListShortcutContains(activityTestRule, searchEngine.newTitle)
540-
}
541-
}
542-
543-
@Test
544-
// Test running on beta/release builds in CI:
545-
// caution when making changes to it, so they don't block the builds
546-
// Goes through the settings and changes the search suggestion toggle, then verifies it changes.
547-
fun toggleSearchSuggestions() {
548-
549-
homeScreen {
550-
}.openSearch {
551-
typeSearch("mozilla")
552-
verifySearchEngineSuggestionResults(activityTestRule, "mozilla firefox")
553-
}.dismissSearchBar {
554-
}.openThreeDotMenu {
555-
}.openSettings {
556-
}.openSearchSubMenu {
557-
disableShowSearchSuggestions()
558-
}.goBack {
559-
}.goBack {
560-
}.openSearch {
561-
typeSearch("mozilla")
562-
verifyNoSuggestionsAreDisplayed(activityTestRule, "mozilla firefox")
563-
}
564-
}
565-
566486
@Test
567487
// Swipes the nav bar left/right to switch between tabs
568488
fun swipeToSwitchTabTest() {

automation/taskcluster/androidTest/flank-x86-beta.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ gcloud:
4141
- class org.mozilla.fenix.ui.NavigationToolbarTest#visitURLTest
4242
- class org.mozilla.fenix.ui.HistoryTest#visitedUrlHistoryTest
4343
- class org.mozilla.fenix.ui.SmokeTest#openMainMenuSettingsItemTest
44-
- class org.mozilla.fenix.ui.SmokeTest#toggleSearchSuggestions
44+
- class org.mozilla.fenix.ui.SettingsSearchTest#toggleSearchSuggestionsTest
4545
- class org.mozilla.fenix.ui.SmokeTest#deleteCollectionTest
4646
- class org.mozilla.fenix.ui.SmokeTest#noHistoryInPrivateBrowsingTest
4747
- class org.mozilla.fenix.ui.NoNetworkAccessStartupTests#noNetworkConnectionStartupTest

automation/taskcluster/androidTest/flank-x86-start-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ gcloud:
3737
- class org.mozilla.fenix.ui.NavigationToolbarTest#visitURLTest
3838
- class org.mozilla.fenix.ui.HistoryTest#visitedUrlHistoryTest
3939
- class org.mozilla.fenix.ui.SmokeTest#openMainMenuSettingsItemTest
40-
- class org.mozilla.fenix.ui.SmokeTest#toggleSearchSuggestions
40+
- class org.mozilla.fenix.ui.SettingsSearchTest#toggleSearchSuggestionsTest
4141
- class org.mozilla.fenix.ui.SmokeTest#deleteCollectionTest
4242
- class org.mozilla.fenix.ui.SmokeTest#noHistoryInPrivateBrowsingTest
4343
- class org.mozilla.fenix.ui.NoNetworkAccessStartupTests#noNetworkConnectionStartupTest

0 commit comments

Comments
 (0)