@@ -11,6 +11,23 @@ let urlLabelExample_3 = "Example Domain"
1111let url_3 = " localhost: \( serverPort) /test-fixture/test-example.html "
1212
1313class BookmarksTests : FeatureFlaggedTestBase {
14+ private var browserScreen : BrowserScreen !
15+ private var topSitesScreen : TopSitesScreen !
16+ private var toolbarScreen : ToolbarScreen !
17+ private var libraryScreen : LibraryScreen !
18+ private var homepageSettingsScreen : HomepageSettingsScreen !
19+ private var firefoxHomeScreen : FirefoxHomePageScreen !
20+
21+ override func setUp( ) {
22+ super. setUp ( )
23+ topSitesScreen = TopSitesScreen ( app: app)
24+ browserScreen = BrowserScreen ( app: app)
25+ toolbarScreen = ToolbarScreen ( app: app)
26+ libraryScreen = LibraryScreen ( app: app)
27+ homepageSettingsScreen = HomepageSettingsScreen ( app: app)
28+ firefoxHomeScreen = FirefoxHomePageScreen ( app: app)
29+ }
30+
1431 override func tearDown( ) {
1532 XCUIDevice . shared. orientation = . portrait
1633 super. tearDown ( )
@@ -169,6 +186,46 @@ class BookmarksTests: FeatureFlaggedTestBase {
169186 XCTAssertNotEqual ( app. tables [ " SiteTable " ] . cells. count, 0 )
170187 }
171188
189+ // https://mozilla.testrail.io/index.php?/cases/view/2306907
190+ // Smoketest
191+ func testBookmarksAwesomeBar_TAE( ) {
192+ app. launch ( )
193+ navigator. nowAt ( HomePanelsScreen)
194+ navigator. goto ( URLBarOpen)
195+ XCTExpectFailure ( " The app was not launched " , strict: false ) {
196+ topSitesScreen. assertVisible ( )
197+ }
198+ browserScreen. tapOnAddressBar ( )
199+ browserScreen. typeOnSearchBar ( text: " www.google " )
200+ browserScreen. assertTypeSuggestText ( text: " www.google " )
201+ browserScreen. typeOnSearchBar ( text: " .com " )
202+ browserScreen. typeOnSearchBar ( text: " \r " )
203+ waitUntilPageLoad ( )
204+
205+ // Enter new url
206+ navigator. nowAt ( BrowserTab)
207+ navigator. performAction ( Action . OpenNewTabFromTabTray)
208+ navigator. nowAt ( HomePanelsScreen)
209+ navigator. goto ( URLBarOpen)
210+ browserScreen. tapOnAddressBar ( )
211+ browserScreen. typeOnSearchBar ( text: " https://mozilla.org " )
212+
213+ // Site table exists but is empty
214+ browserScreen. assertNumberOfSuggestedLines ( expectedLines: 0 )
215+ browserScreen. typeOnSearchBar ( text: " \r " )
216+ waitUntilPageLoad ( )
217+
218+ // Add page to bookmarks
219+ bookmark_TAE ( )
220+
221+ // Now the site should be suggested
222+ navigator. performAction ( Action . AcceptClearPrivateData)
223+ navigator. goto ( BrowserTab)
224+ browserScreen. tapOnAddressBar ( )
225+ browserScreen. typeOnSearchBar ( text: " mozilla.org " )
226+ browserScreen. assertTypeSuggestText ( text: " mozilla.org " )
227+ }
228+
172229 // https://mozilla.testrail.io/index.php?/cases/view/2306914
173230 func testAddNewFolder( ) {
174231 app. launch ( )
@@ -238,7 +295,7 @@ class BookmarksTests: FeatureFlaggedTestBase {
238295 }
239296
240297 private func typeOnSearchBar( text: String ) {
241- app . textFields [ AccessibilityIdentifiers . Browser . AddressToolbar . searchTextField ] . waitAndTap ( )
298+ urlBarAddress . waitAndTap ( )
242299 urlBarAddress. typeText ( text)
243300 }
244301
@@ -266,6 +323,7 @@ class BookmarksTests: FeatureFlaggedTestBase {
266323 // Check that it appears in Bookmarks panel
267324 navigator. goto ( LibraryPanel_Bookmarks)
268325 mozWaitForElementToExist ( app. tables [ " Bookmarks List " ] )
326+ XCTAssertEqual ( app. tables [ " Bookmarks List " ] . cells. count, 1 )
269327
270328 // Delete the Bookmark added, check it is removed
271329 app. tables [ " Bookmarks List " ] . cells. staticTexts [ " Example Domain " ] . swipeLeft ( )
@@ -278,6 +336,39 @@ class BookmarksTests: FeatureFlaggedTestBase {
278336 XCTAssertEqual ( app. tables [ bookmarkList] . label, " Empty list " )
279337 }
280338
339+ // https://mozilla.testrail.io/index.php?/cases/view/2306909
340+ // Smoketest
341+ func testBookmarkLibraryAddDeleteBookmark_TAE( ) {
342+ app. launch ( )
343+ navigator. nowAt ( NewTabScreen)
344+ toolbarScreen. assertTabsButtonExists ( )
345+ navigator. goto ( LibraryPanel_Bookmarks)
346+ libraryScreen. assertBookmarkList ( )
347+ libraryScreen. assertBookmarkListCount ( numberOfEntries: 0 )
348+
349+ // Add a bookmark
350+ navigator. nowAt ( LibraryPanel_Bookmarks)
351+ navigator. goto ( HomePanelsScreen)
352+ navigator. goto ( URLBarOpen)
353+ navigator. openURL ( url_3)
354+ waitUntilPageLoad ( )
355+ navigator. nowAt ( BrowserTab)
356+ bookmark_TAE ( )
357+
358+ // Check that it appears in Bookmarks panel
359+ navigator. goto ( LibraryPanel_Bookmarks)
360+ libraryScreen. assertBookmarkList ( )
361+ libraryScreen. assertBookmarkListCount ( numberOfEntries: 1 )
362+
363+ // Delete the Bookmark added, check it is removed
364+ libraryScreen. swipeAndDeleteBookmark ( entryName: urlLabelExample_3)
365+
366+ // Check that the bookmark was deleted by ensuring an element of the empty state is visible
367+ libraryScreen. assertBookmarkList ( )
368+ libraryScreen. assertEmptyStateSignInButtonExists ( )
369+ libraryScreen. assertBookmarkListLabel ( label: " Empty list " )
370+ }
371+
281372 // https://mozilla.testrail.io/index.php?/cases/view/2306911
282373 func testRecentlyBookmarked( ) {
283374 app. launch ( )
@@ -391,6 +482,39 @@ class BookmarksTests: FeatureFlaggedTestBase {
391482 mozWaitForElementToExist ( app. cells [ " BookmarksCell " ] )
392483 }
393484
485+ // https://mozilla.testrail.io/index.php?/cases/view/2784448
486+ // Smoketest
487+ func testBookmarksToggleIsAvailable_TAE( ) throws {
488+ addLaunchArgument ( jsonFileName: " homepageRedesignOff " , featureName: " homepage-redesign-feature " )
489+ app. launch ( )
490+ navigator. openURL ( url_3)
491+ toolbarScreen. assertTabsButtonExists ( )
492+ navigator. nowAt ( BrowserTab)
493+ bookmark_TAE ( )
494+ navigator. nowAt ( NewTabScreen)
495+ navigator. goto ( HomeSettings)
496+ homepageSettingsScreen. assertBookmarkToggleExists ( )
497+ homepageSettingsScreen. disableBookmarkToggle ( )
498+ homepageSettingsScreen. assertBookmarkToggleIsDisabled ( )
499+ navigator. nowAt ( HomeSettings)
500+ navigator. goto ( NewTabScreen)
501+ navigator. goto ( TabTray)
502+ navigator. performAction ( Action . OpenNewTabFromTabTray)
503+ browserScreen. tapCancelButtonIfExist ( )
504+ firefoxHomeScreen. assertBookmarksItemCellToNotExist ( )
505+ navigator. nowAt ( BrowserTab)
506+ navigator. goto ( HomeSettings)
507+ homepageSettingsScreen. assertBookmarkToggleExists ( )
508+ homepageSettingsScreen. enableBookmarkToggle ( )
509+ homepageSettingsScreen. assertBookmarkToggleIsEnabled ( )
510+ navigator. nowAt ( HomeSettings)
511+ navigator. goto ( NewTabScreen)
512+ navigator. goto ( TabTray)
513+ navigator. performAction ( Action . OpenNewTabFromTabTray)
514+ browserScreen. tapCancelButtonIfExist ( )
515+ firefoxHomeScreen. assertBookmarksItemCellExist ( )
516+ }
517+
394518 private func validateLongTapOptionsFromBookmarkLink( isExperiment: Bool ) {
395519 // Go to "Recently saved" section and long tap on one of the links
396520 navigator. openURL ( path ( forTestPage: url_2 [ " url " ] !) )
@@ -479,4 +603,11 @@ class BookmarksTests: FeatureFlaggedTestBase {
479603 let url = app. textFields [ AccessibilityIdentifiers . Browser. AddressToolbar. searchTextField]
480604 mozWaitForValueContains ( url, value: " localhost " )
481605 }
606+
607+ func bookmark_TAE( ) {
608+ browserScreen. assertAddressBar_LockIconExist ( )
609+ navigator. nowAt ( BrowserTab)
610+ navigator. goto ( BrowserTabMenu)
611+ navigator. performAction ( Action . Bookmark)
612+ }
482613}
0 commit comments