diff --git a/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/ComposeSettingsDeleteBrowsingDataOnQuitTest.kt b/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/ComposeSettingsDeleteBrowsingDataOnQuitTest.kt deleted file mode 100644 index 149155fcc6ca..000000000000 --- a/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/ComposeSettingsDeleteBrowsingDataOnQuitTest.kt +++ /dev/null @@ -1,267 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.mozilla.fenix.ui - -import android.Manifest -import androidx.compose.ui.test.junit4.AndroidComposeTestRule -import androidx.core.net.toUri -import androidx.test.espresso.Espresso.pressBack -import androidx.test.rule.GrantPermissionRule -import org.junit.Rule -import org.junit.Test -import org.mozilla.fenix.R -import org.mozilla.fenix.customannotations.SmokeTest -import org.mozilla.fenix.helpers.AppAndSystemHelper.setNetworkEnabled -import org.mozilla.fenix.helpers.DataGenerationHelper.getStringResource -import org.mozilla.fenix.helpers.HomeActivityIntentTestRule -import org.mozilla.fenix.helpers.MatcherHelper -import org.mozilla.fenix.helpers.TestAssetHelper -import org.mozilla.fenix.helpers.TestAssetHelper.getStorageTestAsset -import org.mozilla.fenix.helpers.TestHelper.exitMenu -import org.mozilla.fenix.helpers.TestHelper.mDevice -import org.mozilla.fenix.helpers.TestHelper.restartApp -import org.mozilla.fenix.helpers.TestSetup -import org.mozilla.fenix.ui.robots.clickPageObject -import org.mozilla.fenix.ui.robots.downloadRobot -import org.mozilla.fenix.ui.robots.homeScreen -import org.mozilla.fenix.ui.robots.navigationToolbar - -/** - * Tests for verifying the Settings for: - * Delete Browsing Data on quit - * - */ -class ComposeSettingsDeleteBrowsingDataOnQuitTest : TestSetup() { - @get:Rule(order = 0) - val composeTestRule = - AndroidComposeTestRule( - HomeActivityIntentTestRule.withDefaultSettingsOverrides( - skipOnboarding = true, - tabsTrayRewriteEnabled = true, - ), - ) { it.activity } - - // Automatically allows app permissions, avoiding a system dialog showing up. - @get:Rule(order = 1) - val grantPermissionRule: GrantPermissionRule = GrantPermissionRule.grant( - Manifest.permission.RECORD_AUDIO, - ) - - // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416048 - @Test - fun deleteBrowsingDataOnQuitSettingTest() { - homeScreen { - }.openThreeDotMenu { - }.openSettings { - }.openSettingsSubMenuDeleteBrowsingDataOnQuit { - verifyNavigationToolBarHeader() - verifyDeleteBrowsingOnQuitEnabled(false) - verifyDeleteBrowsingOnQuitButtonSummary() - verifyDeleteBrowsingOnQuitEnabled(false) - clickDeleteBrowsingOnQuitButtonSwitch() - verifyDeleteBrowsingOnQuitEnabled(true) - verifyAllTheCheckBoxesText() - verifyAllTheCheckBoxesChecked(true) - }.goBack { - verifySettingsOptionSummary("Delete browsing data on quit", "On") - }.goBack { - }.openThreeDotMenu { - verifyQuitButtonExists() - pressBack() - } - navigationToolbar { - }.enterURLAndEnterToBrowser("test".toUri()) { - }.openThreeDotMenu { - verifyQuitButtonExists() - } - } - - // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416049 - @Test - fun deleteOpenTabsOnQuitTest() { - val testPage = TestAssetHelper.getGenericAsset(mockWebServer, 1) - - homeScreen { - }.openThreeDotMenu { - }.openSettings { - }.openSettingsSubMenuDeleteBrowsingDataOnQuit { - clickDeleteBrowsingOnQuitButtonSwitch() - exitMenu() - } - navigationToolbar { - }.enterURLAndEnterToBrowser(testPage.url) { - }.goToHomescreen { - }.openThreeDotMenu { - clickQuit() - restartApp(composeTestRule.activityRule) - } - homeScreen { - }.openComposeTabDrawer(composeTestRule) { - verifyNoOpenTabsInNormalBrowsing() - } - } - - // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416050 - @Test - fun deleteBrowsingHistoryOnQuitTest() { - val genericPage = - getStorageTestAsset(mockWebServer, "generic1.html") - - homeScreen { - }.openThreeDotMenu { - }.openSettings { - }.openSettingsSubMenuDeleteBrowsingDataOnQuit { - clickDeleteBrowsingOnQuitButtonSwitch() - exitMenu() - } - navigationToolbar { - }.enterURLAndEnterToBrowser(genericPage.url) { - }.goToHomescreen { - }.openThreeDotMenu { - clickQuit() - restartApp(composeTestRule.activityRule) - } - - homeScreen { - }.openThreeDotMenu { - }.openHistory { - verifyEmptyHistoryView() - exitMenu() - } - } - - // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416051 - @Test - fun deleteCookiesAndSiteDataOnQuitTest() { - val storageWritePage = - getStorageTestAsset(mockWebServer, "storage_write.html") - val storageCheckPage = - getStorageTestAsset(mockWebServer, "storage_check.html") - - homeScreen { - }.openThreeDotMenu { - }.openSettings { - }.openSettingsSubMenuDeleteBrowsingDataOnQuit { - clickDeleteBrowsingOnQuitButtonSwitch() - exitMenu() - } - navigationToolbar { - }.enterURLAndEnterToBrowser(storageWritePage.url) { - clickPageObject(MatcherHelper.itemWithText("Set cookies")) - verifyPageContent("Values written to storage") - }.goToHomescreen { - }.openThreeDotMenu { - clickQuit() - restartApp(composeTestRule.activityRule) - } - - navigationToolbar { - }.enterURLAndEnterToBrowser(storageCheckPage.url) { - verifyPageContent("Session storage empty") - verifyPageContent("Local storage empty") - }.openNavigationToolbar { - }.enterURLAndEnterToBrowser(storageWritePage.url) { - verifyPageContent("No cookies set") - } - } - - // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1243096 - @SmokeTest - @Test - fun deleteDownloadsOnQuitTest() { - val downloadTestPage = "https://storage.googleapis.com/mobile_test_assets/test_app/downloads.html" - - homeScreen { - }.openThreeDotMenu { - }.openSettings { - }.openSettingsSubMenuDeleteBrowsingDataOnQuit { - clickDeleteBrowsingOnQuitButtonSwitch() - exitMenu() - } - downloadRobot { - openPageAndDownloadFile(url = downloadTestPage.toUri(), downloadFile = "smallZip.zip") - verifyDownloadCompleteNotificationPopup() - }.closeDownloadPrompt { - }.goToHomescreen { - }.openThreeDotMenu { - clickQuit() - mDevice.waitForIdle() - } - restartApp(composeTestRule.activityRule) - homeScreen { - }.openThreeDotMenu { - }.openDownloadsManager(composeTestRule) { - verifyEmptyDownloadsList() - } - } - - // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416053 - @SmokeTest - @Test - fun deleteSitePermissionsOnQuitTest() { - val testPage = "https://mozilla-mobile.github.io/testapp/permissions" - val testPageSubstring = "https://mozilla-mobile.github.io:443" - - homeScreen { - }.openThreeDotMenu { - }.openSettings { - }.openSettingsSubMenuDeleteBrowsingDataOnQuit { - clickDeleteBrowsingOnQuitButtonSwitch() - exitMenu() - } - navigationToolbar { - }.enterURLAndEnterToBrowser(testPage.toUri()) { - waitForPageToLoad() - }.clickStartMicrophoneButton { - verifyMicrophonePermissionPrompt(testPageSubstring) - selectRememberPermissionDecision() - }.clickPagePermissionButton(false) { - verifyPageContent("Microphone not allowed") - }.goToHomescreen { - }.openThreeDotMenu { - clickQuit() - mDevice.waitForIdle() - } - restartApp(composeTestRule.activityRule) - navigationToolbar { - }.enterURLAndEnterToBrowser(testPage.toUri()) { - waitForPageToLoad() - }.clickStartMicrophoneButton { - verifyMicrophonePermissionPrompt(testPageSubstring) - } - } - - // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/416052 - @Test - fun deleteCachedFilesOnQuitTest() { - val pocketTopArticles = getStringResource(R.string.pocket_pinned_top_articles) - - homeScreen { - }.openThreeDotMenu { - }.openSettings { - }.openSettingsSubMenuDeleteBrowsingDataOnQuit { - clickDeleteBrowsingOnQuitButtonSwitch() - exitMenu() - } - homeScreen { - verifyExistingTopSitesTabs(pocketTopArticles) - }.openTopSiteTabWithTitle(pocketTopArticles) { - waitForPageToLoad() - }.goToHomescreen { - }.openThreeDotMenu { - clickQuit() - mDevice.waitForIdle() - } - // disabling wifi to prevent downloads in the background - setNetworkEnabled(enabled = false) - restartApp(composeTestRule.activityRule) - navigationToolbar { - }.enterURLAndEnterToBrowser("about:cache".toUri()) { - verifyNetworkCacheIsEmpty("memory") - verifyNetworkCacheIsEmpty("disk") - } - setNetworkEnabled(enabled = true) - } -} diff --git a/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsDeleteBrowsingDataOnQuitTest.kt b/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsDeleteBrowsingDataOnQuitTest.kt index 15a6c385f0b1..69b46bf49a6a 100644 --- a/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsDeleteBrowsingDataOnQuitTest.kt +++ b/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsDeleteBrowsingDataOnQuitTest.kt @@ -34,14 +34,17 @@ import org.mozilla.fenix.ui.robots.navigationToolbar * */ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() { - - val activityTestRule = HomeActivityIntentTestRule.withDefaultSettingsOverrides(skipOnboarding = true) - - @get:Rule - val composeTestRule = AndroidComposeTestRule(activityTestRule) { it.activity } + @get:Rule(order = 0) + val composeTestRule = + AndroidComposeTestRule( + HomeActivityIntentTestRule.withDefaultSettingsOverrides( + skipOnboarding = true, + tabsTrayRewriteEnabled = true, + ), + ) { it.activity } // Automatically allows app permissions, avoiding a system dialog showing up. - @get:Rule + @get:Rule(order = 1) val grantPermissionRule: GrantPermissionRule = GrantPermissionRule.grant( Manifest.permission.RECORD_AUDIO, ) @@ -92,10 +95,10 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() { }.goToHomescreen { }.openThreeDotMenu { clickQuit() - restartApp(activityTestRule) + restartApp(composeTestRule.activityRule) } - navigationToolbar { - }.openTabTray { + homeScreen { + }.openComposeTabDrawer(composeTestRule) { verifyNoOpenTabsInNormalBrowsing() } } @@ -118,7 +121,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() { }.goToHomescreen { }.openThreeDotMenu { clickQuit() - restartApp(activityTestRule) + restartApp(composeTestRule.activityRule) } homeScreen { @@ -151,7 +154,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() { }.goToHomescreen { }.openThreeDotMenu { clickQuit() - restartApp(activityTestRule) + restartApp(composeTestRule.activityRule) } navigationToolbar { @@ -186,7 +189,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() { clickQuit() mDevice.waitForIdle() } - restartApp(activityTestRule) + restartApp(composeTestRule.activityRule) homeScreen { }.openThreeDotMenu { }.openDownloadsManager(composeTestRule) { @@ -221,7 +224,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() { clickQuit() mDevice.waitForIdle() } - restartApp(activityTestRule) + restartApp(composeTestRule.activityRule) navigationToolbar { }.enterURLAndEnterToBrowser(testPage.toUri()) { waitForPageToLoad() @@ -253,7 +256,7 @@ class SettingsDeleteBrowsingDataOnQuitTest : TestSetup() { } // disabling wifi to prevent downloads in the background setNetworkEnabled(enabled = false) - restartApp(activityTestRule) + restartApp(composeTestRule.activityRule) navigationToolbar { }.enterURLAndEnterToBrowser("about:cache".toUri()) { verifyNetworkCacheIsEmpty("memory")