summaryrefslogtreecommitdiffstats
path: root/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt')
-rw-r--r--mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt589
1 files changed, 589 insertions, 0 deletions
diff --git a/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt b/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt
new file mode 100644
index 0000000000..11dac5a607
--- /dev/null
+++ b/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt
@@ -0,0 +1,589 @@
+/* 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 org.junit.Rule
+import org.junit.Test
+import org.mozilla.fenix.customannotations.SmokeTest
+import org.mozilla.fenix.helpers.AppAndSystemHelper.bringAppToForeground
+import org.mozilla.fenix.helpers.AppAndSystemHelper.putAppToBackground
+import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
+import org.mozilla.fenix.helpers.MatcherHelper.itemWithResId
+import org.mozilla.fenix.helpers.MatcherHelper.itemWithResIdContainingText
+import org.mozilla.fenix.helpers.TestAssetHelper
+import org.mozilla.fenix.helpers.TestHelper.exitMenu
+import org.mozilla.fenix.helpers.TestHelper.packageName
+import org.mozilla.fenix.helpers.TestSetup
+import org.mozilla.fenix.ui.robots.clickPageObject
+import org.mozilla.fenix.ui.robots.homeScreen
+import org.mozilla.fenix.ui.robots.navigationToolbar
+import java.time.LocalDate
+
+class CreditCardAutofillTest : TestSetup() {
+ object MockCreditCard1 {
+ const val MOCK_CREDIT_CARD_NUMBER = "5555555555554444"
+ const val MOCK_LAST_CARD_DIGITS = "4444"
+ const val MOCK_NAME_ON_CARD = "Mastercard"
+ const val MOCK_EXPIRATION_MONTH = "February"
+ val MOCK_EXPIRATION_YEAR = (LocalDate.now().year + 1).toString()
+ val MOCK_EXPIRATION_MONTH_AND_YEAR = "02/${(LocalDate.now().year + 1)}"
+ }
+
+ object MockCreditCard2 {
+ const val MOCK_CREDIT_CARD_NUMBER = "2720994326581252"
+ const val MOCK_LAST_CARD_DIGITS = "1252"
+ const val MOCK_NAME_ON_CARD = "Mastercard"
+ const val MOCK_EXPIRATION_MONTH = "March"
+ val MOCK_EXPIRATION_YEAR = (LocalDate.now().year + 2).toString()
+ val MOCK_EXPIRATION_MONTH_AND_YEAR = "03/${(LocalDate.now().year + 2)}"
+ }
+
+ @get:Rule
+ val activityIntentTestRule = HomeActivityIntentTestRule.withDefaultSettingsOverrides()
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1512792
+ @SmokeTest
+ @Test
+ fun verifyCreditCardAutofillTest() {
+ val creditCardFormPage = TestAssetHelper.getCreditCardFormAsset(mockWebServer)
+
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ // Opening Manage cards to dismiss here the Secure your credit prompt
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ }.goBackToAutofillSettings {
+ }.goBack {
+ }.goBack {
+ }
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ clickCreditCardNumberTextBox()
+ clickPageObject(itemWithResId("$packageName:id/select_credit_card_header"))
+ clickPageObject(
+ itemWithResIdContainingText(
+ "$packageName:id/credit_card_number",
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ ),
+ )
+ verifyAutofilledCreditCard(MockCreditCard1.MOCK_CREDIT_CARD_NUMBER)
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1512798
+ @SmokeTest
+ @Test
+ fun deleteSavedCreditCardUsingToolbarButtonTest() {
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ clickSavedCreditCard()
+ clickDeleteCreditCardToolbarButton()
+ clickCancelDeleteCreditCardButton()
+ verifyEditCreditCardToolbarTitle()
+ clickDeleteCreditCardToolbarButton()
+ clickConfirmDeleteCreditCardButton()
+ verifyAddCreditCardsButton()
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/2271192
+ @SmokeTest
+ @Test
+ fun deleteSavedCreditCardUsingMenuButtonTest() {
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ clickSavedCreditCard()
+ clickDeleteCreditCardMenuButton()
+ clickCancelDeleteCreditCardButton()
+ verifyEditCreditCardToolbarTitle()
+ clickDeleteCreditCardMenuButton()
+ clickConfirmDeleteCreditCardButton()
+ verifyAddCreditCardsButton()
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1512788
+ @Test
+ fun verifyCreditCardsSectionTest() {
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ verifySavedCreditCardsSection(
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1859917
+ @Test
+ fun verifyManageCreditCardsPromptOptionTest() {
+ val creditCardFormPage = TestAssetHelper.getCreditCardFormAsset(mockWebServer)
+
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ }
+
+ exitMenu()
+
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ clickCreditCardNumberTextBox()
+ clickPageObject(itemWithResId("$packageName:id/select_credit_card_header"))
+ }.clickManageCreditCardsButton {
+ }.goBackToBrowser {
+ verifySelectCreditCardPromptExists(false)
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1512790
+ @Test
+ fun verifyCreditCardsAutofillToggleTest() {
+ val creditCardFormPage = TestAssetHelper.getCreditCardFormAsset(mockWebServer)
+
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ }
+
+ exitMenu()
+
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ clickCreditCardNumberTextBox()
+ verifySelectCreditCardPromptExists(true)
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ clickSaveAndAutofillCreditCardsOption()
+ verifyCreditCardsAutofillSection(false, true)
+ }
+
+ exitMenu()
+
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ clickCreditCardNumberTextBox()
+ verifySelectCreditCardPromptExists(false)
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1512795
+ @Test
+ fun verifyEditCardsViewTest() {
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ verifySavedCreditCardsSection(
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ clickSavedCreditCard()
+ verifyEditCreditCardView(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ }.goBackToSavedCreditCards {
+ verifySavedCreditCardsSection(
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1512796
+ @Test
+ fun verifyEditedCardIsSavedTest() {
+ val creditCardFormPage = TestAssetHelper.getCreditCardFormAsset(mockWebServer)
+
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ verifySavedCreditCardsSection(
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ clickSavedCreditCard()
+ fillAndSaveCreditCard(
+ MockCreditCard2.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard2.MOCK_NAME_ON_CARD,
+ MockCreditCard2.MOCK_EXPIRATION_MONTH,
+ MockCreditCard2.MOCK_EXPIRATION_YEAR,
+ )
+ }
+
+ exitMenu()
+
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ clickCreditCardNumberTextBox()
+ clickPageObject(itemWithResId("$packageName:id/select_credit_card_header"))
+ clickPageObject(
+ itemWithResIdContainingText(
+ "$packageName:id/credit_card_number",
+ MockCreditCard2.MOCK_LAST_CARD_DIGITS,
+ ),
+ )
+ verifyAutofilledCreditCard(MockCreditCard2.MOCK_CREDIT_CARD_NUMBER)
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1512797
+ @Test
+ fun verifyCreditCardCannotBeSavedWithoutCardNumberOrNameTest() {
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ verifySavedCreditCardsSection(
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ clickSavedCreditCard()
+ clearCreditCardNumber()
+ clickSaveCreditCardToolbarButton()
+ verifyEditCreditCardToolbarTitle()
+ verifyCreditCardNumberErrorMessage()
+ }.goBackToSavedCreditCards {
+ clickSavedCreditCard()
+ clearNameOnCreditCard()
+ clickSaveCreditCardToolbarButton()
+ verifyEditCreditCardToolbarTitle()
+ verifyNameOnCreditCardErrorMessage()
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1512794
+ @Test
+ fun verifyMultipleCreditCardsCanBeAddedTest() {
+ val creditCardFormPage = TestAssetHelper.getCreditCardFormAsset(mockWebServer)
+
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard2.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard2.MOCK_NAME_ON_CARD,
+ MockCreditCard2.MOCK_EXPIRATION_MONTH,
+ MockCreditCard2.MOCK_EXPIRATION_YEAR,
+ )
+ verifySavedCreditCardsSection(
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ verifySavedCreditCardsSection(
+ MockCreditCard2.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard2.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ }
+
+ exitMenu()
+
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ clickCreditCardNumberTextBox()
+ clickPageObject(itemWithResId("$packageName:id/select_credit_card_header"))
+ verifyCreditCardSuggestion(
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard2.MOCK_LAST_CARD_DIGITS,
+ )
+ clickPageObject(
+ itemWithResIdContainingText(
+ "$packageName:id/credit_card_number",
+ MockCreditCard2.MOCK_LAST_CARD_DIGITS,
+ ),
+ )
+ verifyAutofilledCreditCard(MockCreditCard2.MOCK_CREDIT_CARD_NUMBER)
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/2271304
+ @Test
+ fun verifyDoNotSaveCreditCardFromPromptTest() {
+ val creditCardFormPage = TestAssetHelper.getCreditCardFormAsset(mockWebServer)
+
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ clickPageObject(itemWithResId("$packageName:id/save_cancel"))
+ verifyUpdateOrSaveCreditCardPromptExists(exists = false)
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1779194
+ @Test
+ fun verifySaveCreditCardFromPromptTest() {
+ val creditCardFormPage = TestAssetHelper.getCreditCardFormAsset(mockWebServer)
+
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ clickPageObject(itemWithResId("$packageName:id/save_confirm"))
+ verifyUpdateOrSaveCreditCardPromptExists(exists = false)
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, true)
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ verifySavedCreditCardsSection(
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/2271305
+ @Test
+ fun verifyCancelCreditCardUpdatePromptTest() {
+ val creditCardFormPage = TestAssetHelper.getCreditCardFormAsset(mockWebServer)
+
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard2.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard2.MOCK_NAME_ON_CARD,
+ MockCreditCard2.MOCK_EXPIRATION_MONTH,
+ MockCreditCard2.MOCK_EXPIRATION_YEAR,
+ )
+ // Opening Manage cards to dismiss here the Secure your credit prompt
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ }
+
+ exitMenu()
+
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ clickCreditCardNumberTextBox()
+ clickPageObject(itemWithResId("$packageName:id/select_credit_card_header"))
+ clickPageObject(
+ itemWithResIdContainingText(
+ "$packageName:id/credit_card_number",
+ MockCreditCard2.MOCK_LAST_CARD_DIGITS,
+ ),
+ )
+ verifyAutofilledCreditCard(MockCreditCard2.MOCK_CREDIT_CARD_NUMBER)
+ changeCreditCardExpiryDate(MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR)
+ clickCreditCardFormSubmitButton()
+ clickPageObject(itemWithResId("$packageName:id/save_cancel"))
+ verifyUpdateOrSaveCreditCardPromptExists(false)
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, true)
+ clickManageSavedCreditCardsButton()
+ verifySavedCreditCardsSection(
+ MockCreditCard2.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard2.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1779195
+ @Test
+ fun verifyConfirmCreditCardUpdatePromptTest() {
+ val creditCardFormPage = TestAssetHelper.getCreditCardFormAsset(mockWebServer)
+
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard2.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard2.MOCK_NAME_ON_CARD,
+ MockCreditCard2.MOCK_EXPIRATION_MONTH,
+ MockCreditCard2.MOCK_EXPIRATION_YEAR,
+ )
+ // Opening Manage cards to dismiss here the Secure your credit prompt
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ }
+
+ exitMenu()
+
+ navigationToolbar {
+ }.enterURLAndEnterToBrowser(creditCardFormPage.url) {
+ clickCreditCardNumberTextBox()
+ clickPageObject(itemWithResId("$packageName:id/select_credit_card_header"))
+ clickPageObject(
+ itemWithResIdContainingText(
+ "$packageName:id/credit_card_number",
+ MockCreditCard2.MOCK_LAST_CARD_DIGITS,
+ ),
+ )
+ verifyAutofilledCreditCard(MockCreditCard2.MOCK_CREDIT_CARD_NUMBER)
+ changeCreditCardExpiryDate(MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR)
+ clickCreditCardFormSubmitButton()
+ clickPageObject(itemWithResId("$packageName:id/save_confirm"))
+ verifyUpdateOrSaveCreditCardPromptExists(false)
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, true)
+ clickManageSavedCreditCardsButton()
+ verifySavedCreditCardsSection(
+ MockCreditCard2.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ }
+ }
+
+ // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/1512791
+ @Test
+ fun verifyCreditCardRedirectionsToAutofillSectionAfterInterruptionTest() {
+ homeScreen {
+ }.openThreeDotMenu {
+ }.openSettings {
+ }.openAutofillSubMenu {
+ verifyCreditCardsAutofillSection(true, false)
+ clickAddCreditCardButton()
+ fillAndSaveCreditCard(
+ MockCreditCard1.MOCK_CREDIT_CARD_NUMBER,
+ MockCreditCard1.MOCK_NAME_ON_CARD,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH,
+ MockCreditCard1.MOCK_EXPIRATION_YEAR,
+ )
+ clickManageSavedCreditCardsButton()
+ clickSecuredCreditCardsLaterButton()
+ clickSavedCreditCard()
+ putAppToBackground()
+ bringAppToForeground()
+ verifyAutofillToolbarTitle()
+ clickManageSavedCreditCardsButton()
+ verifySavedCreditCardsSection(
+ MockCreditCard1.MOCK_LAST_CARD_DIGITS,
+ MockCreditCard1.MOCK_EXPIRATION_MONTH_AND_YEAR,
+ )
+ putAppToBackground()
+ bringAppToForeground()
+ verifyAutofillToolbarTitle()
+ }
+ }
+}