Bug 1807268 - Re-enable verifyShowClipboardSuggestionsToggleTest UI test r=jajohnson
[gecko.git] / mobile / android / fenix / app / src / androidTest / java / org / mozilla / fenix / ui / ComposeNavigationToolbarTest.kt
blob2ff866316b5797fb1a38ce28ec335283c3b28614
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 package org.mozilla.fenix.ui
7 import androidx.compose.ui.test.junit4.AndroidComposeTestRule
8 import org.junit.Rule
9 import org.junit.Test
10 import org.mozilla.fenix.customannotations.SmokeTest
11 import org.mozilla.fenix.helpers.AppAndSystemHelper.runWithSystemLocaleChanged
12 import org.mozilla.fenix.helpers.HomeActivityTestRule
13 import org.mozilla.fenix.helpers.TestAssetHelper
14 import org.mozilla.fenix.helpers.TestSetup
15 import org.mozilla.fenix.ui.robots.navigationToolbar
16 import java.util.Locale
18 /**
19  *  Tests for verifying basic functionality of browser navigation and page related interactions
20  *
21  *  Including:
22  *  - Visiting a URL
23  *  - Back and Forward navigation
24  *  - Refresh
25  *  - Find in page
26  */
28 class ComposeNavigationToolbarTest : TestSetup() {
29     @get:Rule
30     val composeTestRule =
31         AndroidComposeTestRule(
32             HomeActivityTestRule.withDefaultSettingsOverrides(
33                 tabsTrayRewriteEnabled = true,
34             ),
35         ) { it.activity }
37     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/987326
38     // Swipes the nav bar left/right to switch between tabs
39     @SmokeTest
40     @Test
41     fun swipeToSwitchTabTest() {
42         val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
43         val secondWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 2)
45         navigationToolbar {
46         }.enterURLAndEnterToBrowser(firstWebPage.url) {
47         }.openComposeTabDrawer(composeTestRule) {
48         }.openNewTab {
49         }.submitQuery(secondWebPage.url.toString()) {
50             swipeNavBarRight(secondWebPage.url.toString())
51             verifyUrl(firstWebPage.url.toString())
52             swipeNavBarLeft(firstWebPage.url.toString())
53             verifyUrl(secondWebPage.url.toString())
54         }
55     }
57     // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/987327
58     // Because it requires changing system prefs, this test will run only on Debug builds
59     @Test
60     fun swipeToSwitchTabInRTLTest() {
61         val firstWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)
62         val secondWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 2)
63         val arabicLocale = Locale("ar", "AR")
65         runWithSystemLocaleChanged(arabicLocale, composeTestRule.activityRule) {
66             navigationToolbar {
67             }.enterURLAndEnterToBrowser(firstWebPage.url) {
68             }.openComposeTabDrawer(composeTestRule) {
69             }.openNewTab {
70             }.submitQuery(secondWebPage.url.toString()) {
71                 swipeNavBarLeft(secondWebPage.url.toString())
72                 verifyUrl(firstWebPage.url.toString())
73                 swipeNavBarRight(firstWebPage.url.toString())
74                 verifyUrl(secondWebPage.url.toString())
75             }
76         }
77     }