Index: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestContactDetailsTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestContactDetailsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestContactDetailsTest.java |
deleted file mode 100644 |
index 4cbd12985dba0fb77182c7ace11daeb08cb14dab..0000000000000000000000000000000000000000 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestContactDetailsTest.java |
+++ /dev/null |
@@ -1,202 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-package org.chromium.chrome.browser.payments; |
- |
-import android.content.DialogInterface; |
-import android.test.suitebuilder.annotation.MediumTest; |
- |
-import org.chromium.base.ThreadUtils; |
-import org.chromium.base.metrics.RecordHistogram; |
-import org.chromium.base.test.util.Feature; |
-import org.chromium.chrome.R; |
-import org.chromium.chrome.browser.autofill.AutofillTestHelper; |
-import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; |
-import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard; |
- |
-import java.util.concurrent.ExecutionException; |
-import java.util.concurrent.TimeoutException; |
- |
-/** |
- * A payment integration test for a merchant that requests contact details. |
- */ |
-public class PaymentRequestContactDetailsTest extends PaymentRequestTestBase { |
- public PaymentRequestContactDetailsTest() { |
- // The merchant requests both a phone number and an email address. |
- super("payment_request_contact_details_test.html"); |
- } |
- |
- @Override |
- public void onMainActivityStarted() |
- throws InterruptedException, ExecutionException, TimeoutException { |
- AutofillTestHelper helper = new AutofillTestHelper(); |
- // The user has valid phone number and email address on disk. |
- String billingAddressId = helper.setProfile(new AutofillProfile("", "https://example.com", |
- true, "Jon Doe", "Google", "340 Main St", "CA", "Los Angeles", "", "90291", "", |
- "US", "555-555-5555", "jon.doe@google.com", "en-US")); |
- helper.setCreditCard(new CreditCard("", "https://example.com", true, true, "Jon Doe", |
- "4111111111111111", "1111", "12", "2050", "visa", R.drawable.pr_visa, |
- billingAddressId, "" /* serverId */)); |
- } |
- |
- /** Provide the existing valid phone number and email address to the merchant. */ |
- @MediumTest |
- @Feature({"Payments"}) |
- public void testPay() throws InterruptedException, ExecutionException, TimeoutException { |
- triggerUIAndWait(mReadyToPay); |
- clickAndWait(R.id.button_primary, mReadyForUnmaskInput); |
- setTextInCardUnmaskDialogAndWait(R.id.card_unmask_input, "123", mReadyToUnmask); |
- clickCardUnmaskButtonAndWait(DialogInterface.BUTTON_POSITIVE, mDismissed); |
- expectResultContains(new String[] {"555-555-5555", "jon.doe@google.com"}); |
- } |
- |
- /** Attempt to add invalid phone number and email address and cancel the transaction. */ |
- @MediumTest |
- @Feature({"Payments"}) |
- public void testAddInvalidContactAndCancel() |
- throws InterruptedException, ExecutionException, TimeoutException { |
- triggerUIAndWait(mReadyToPay); |
- clickInContactInfoAndWait(R.id.payments_section, mReadyForInput); |
- clickInContactInfoAndWait(R.id.payments_add_option_button, mReadyToEdit); |
- setTextInEditorAndWait(new String[] {"+++", "jane.jones"}, mEditorTextUpdate); |
- clickInEditorAndWait(R.id.payments_edit_done_button, mEditorValidationError); |
- clickInEditorAndWait(R.id.payments_edit_cancel_button, mReadyForInput); |
- clickAndWait(R.id.close_button, mDismissed); |
- expectResultContains(new String[] {"Request cancelled"}); |
- } |
- |
- /** Add new phone number and email address and provide that to the merchant. */ |
- @MediumTest |
- @Feature({"Payments"}) |
- public void testAddContactAndPay() |
- throws InterruptedException, ExecutionException, TimeoutException { |
- triggerUIAndWait(mReadyToPay); |
- clickInContactInfoAndWait(R.id.payments_section, mReadyForInput); |
- clickInContactInfoAndWait(R.id.payments_add_option_button, mReadyToEdit); |
- setTextInEditorAndWait(new String[] {"999-999-9999", "jane.jones@google.com"}, |
- mEditorTextUpdate); |
- clickInEditorAndWait(R.id.payments_edit_done_button, mReadyToPay); |
- clickAndWait(R.id.button_primary, mReadyForUnmaskInput); |
- setTextInCardUnmaskDialogAndWait(R.id.card_unmask_input, "123", mReadyToUnmask); |
- clickCardUnmaskButtonAndWait(DialogInterface.BUTTON_POSITIVE, mDismissed); |
- expectResultContains(new String[] {"999-999-9999", "jane.jones@google.com"}); |
- } |
- |
- /** Quickly pressing on "add contact info" and then [X] should not crash. */ |
- @MediumTest |
- @Feature({"Payments"}) |
- public void testQuickAddContactAndCloseShouldNotCrash() |
- throws InterruptedException, ExecutionException, TimeoutException { |
- triggerUIAndWait(mReadyToPay); |
- clickInContactInfoAndWait(R.id.payments_section, mReadyForInput); |
- |
- // Quickly press on "add contact info" and then [X]. |
- int callCount = mReadyToEdit.getCallCount(); |
- ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
- @Override |
- public void run() { |
- mUI.getContactDetailsSectionForTest().findViewById( |
- R.id.payments_add_option_button).performClick(); |
- mUI.getDialogForTest().findViewById(R.id.close_button).performClick(); |
- } |
- }); |
- mReadyToEdit.waitForCallback(callCount); |
- |
- clickInEditorAndWait(R.id.payments_edit_cancel_button, mReadyForInput); |
- clickAndWait(R.id.close_button, mDismissed); |
- expectResultContains(new String[] {"Request cancelled"}); |
- } |
- |
- /** Quickly pressing on [X] and then "add contact info" should not crash. */ |
- @MediumTest |
- @Feature({"Payments"}) |
- public void testQuickCloseAndAddContactShouldNotCrash() |
- throws InterruptedException, ExecutionException, TimeoutException { |
- triggerUIAndWait(mReadyToPay); |
- clickInContactInfoAndWait(R.id.payments_section, mReadyForInput); |
- |
- // Quickly press on [X] and then "add contact info." |
- int callCount = mDismissed.getCallCount(); |
- ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
- @Override |
- public void run() { |
- mUI.getDialogForTest().findViewById(R.id.close_button).performClick(); |
- mUI.getContactDetailsSectionForTest().findViewById( |
- R.id.payments_add_option_button).performClick(); |
- } |
- }); |
- mDismissed.waitForCallback(callCount); |
- |
- expectResultContains(new String[] {"Request cancelled"}); |
- } |
- |
- /** Quickly pressing on "add contact info" and then "cancel" should not crash. */ |
- @MediumTest |
- @Feature({"Payments"}) |
- public void testQuickAddContactAndCancelShouldNotCrash() |
- throws InterruptedException, ExecutionException, TimeoutException { |
- triggerUIAndWait(mReadyToPay); |
- clickInContactInfoAndWait(R.id.payments_section, mReadyForInput); |
- |
- // Quickly press on "add contact info" and then "cancel." |
- int callCount = mReadyToEdit.getCallCount(); |
- ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
- @Override |
- public void run() { |
- mUI.getContactDetailsSectionForTest().findViewById( |
- R.id.payments_add_option_button).performClick(); |
- mUI.getDialogForTest().findViewById(R.id.button_secondary).performClick(); |
- } |
- }); |
- mReadyToEdit.waitForCallback(callCount); |
- |
- clickInEditorAndWait(R.id.payments_edit_cancel_button, mReadyForInput); |
- clickAndWait(R.id.close_button, mDismissed); |
- expectResultContains(new String[] {"Request cancelled"}); |
- } |
- |
- /** Quickly pressing on "cancel" and then "add contact info" should not crash. */ |
- @MediumTest |
- @Feature({"Payments"}) |
- public void testQuickCancelAndAddContactShouldNotCrash() |
- throws InterruptedException, ExecutionException, TimeoutException { |
- triggerUIAndWait(mReadyToPay); |
- clickInContactInfoAndWait(R.id.payments_section, mReadyForInput); |
- |
- // Quickly press on "cancel" and then "add contact info." |
- int callCount = mDismissed.getCallCount(); |
- ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
- @Override |
- public void run() { |
- mUI.getDialogForTest().findViewById(R.id.button_secondary).performClick(); |
- mUI.getContactDetailsSectionForTest().findViewById( |
- R.id.payments_add_option_button).performClick(); |
- } |
- }); |
- mDismissed.waitForCallback(callCount); |
- |
- expectResultContains(new String[] {"Request cancelled"}); |
- } |
- |
- /** |
- * Test that starting a payment request that requires the user's email address and phone number |
- * results in the appropriate metric being logged in the PaymentRequest.RequestedInformation |
- * histogram. |
- */ |
- @MediumTest |
- @Feature({"Payments"}) |
- public void testRequestedInformationMetric() throws InterruptedException, ExecutionException, |
- TimeoutException { |
- // Start the Payment Request. |
- triggerUIAndWait(mReadyToPay); |
- |
- // Make sure that only the appropriate enum value was logged. |
- for (int i = 0; i < PaymentRequestMetrics.REQUESTED_INFORMATION_MAX; ++i) { |
- assertEquals((i == (PaymentRequestMetrics.REQUESTED_INFORMATION_EMAIL |
- | PaymentRequestMetrics.REQUESTED_INFORMATION_PHONE) ? 1 : 0), |
- RecordHistogram.getHistogramValueCountForTesting( |
- "PaymentRequest.RequestedInformation", i)); |
- } |
- } |
-} |