Index: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestJourneyLoggerTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestJourneyLoggerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestJourneyLoggerTest.java |
index fd5c6e1abc4546a24fbc6997085a676e352099ff..7b12cf7de81b60a19b8236a78f62ff09928a3d49 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestJourneyLoggerTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestJourneyLoggerTest.java |
@@ -299,4 +299,56 @@ public class PaymentRequestJourneyLoggerTest extends PaymentRequestTestBase { |
assertEquals(0, RecordHistogram.getHistogramValueCountForTesting( |
"PaymentRequest.NumberOfSelectionEdits.ContactInfo.Completed", 0)); |
} |
+ |
+ /** |
+ * Expect that that the journey metrics are logged correctly on a second consecutive payment |
+ * request. |
+ */ |
+ @MediumTest |
+ @Feature({"Payments"}) |
+ public void testTwoTimes() throws InterruptedException, ExecutionException, TimeoutException { |
+ // Complete a Payment Request with a credit card. |
+ triggerUIAndWait("ccBuy", mReadyToPay); |
+ clickAndWait(R.id.button_primary, mReadyForUnmaskInput); |
+ setTextInCardUnmaskDialogAndWait(R.id.card_unmask_input, "123", mReadyToUnmask); |
+ clickCardUnmaskButtonAndWait(DialogInterface.BUTTON_POSITIVE, mDismissed); |
+ |
+ // Make sure the right number of suggestions were logged. |
+ assertEquals( |
+ 1, RecordHistogram.getHistogramValueCountForTesting( |
+ "PaymentRequest.NumberOfSuggestionsShown.ShippingAddress.Completed", 2)); |
+ |
+ // Make sure no adds, edits or changes were logged. |
+ assertEquals( |
+ 1, RecordHistogram.getHistogramValueCountForTesting( |
+ "PaymentRequest.NumberOfSelectionAdds.ShippingAddress.Completed", 0)); |
+ assertEquals( |
+ 1, RecordHistogram.getHistogramValueCountForTesting( |
+ "PaymentRequest.NumberOfSelectionChanges.ShippingAddress.Completed", 0)); |
+ assertEquals( |
+ 1, RecordHistogram.getHistogramValueCountForTesting( |
+ "PaymentRequest.NumberOfSelectionEdits.ShippingAddress.Completed", 0)); |
+ |
+ // Complete a second Payment Request with a credit card. |
+ reTriggerUIAndWait("ccBuy", mReadyToPay); |
+ clickAndWait(R.id.button_primary, mReadyForUnmaskInput); |
+ setTextInCardUnmaskDialogAndWait(R.id.card_unmask_input, "123", mReadyToUnmask); |
+ clickCardUnmaskButtonAndWait(DialogInterface.BUTTON_POSITIVE, mDismissed); |
+ |
+ // Make sure the right number of suggestions were logged. |
+ assertEquals( |
+ 2, RecordHistogram.getHistogramValueCountForTesting( |
+ "PaymentRequest.NumberOfSuggestionsShown.ShippingAddress.Completed", 2)); |
+ |
+ // Make sure no adds, edits or changes were logged. |
+ assertEquals( |
+ 2, RecordHistogram.getHistogramValueCountForTesting( |
+ "PaymentRequest.NumberOfSelectionAdds.ShippingAddress.Completed", 0)); |
+ assertEquals( |
+ 2, RecordHistogram.getHistogramValueCountForTesting( |
+ "PaymentRequest.NumberOfSelectionChanges.ShippingAddress.Completed", 0)); |
+ assertEquals( |
+ 2, RecordHistogram.getHistogramValueCountForTesting( |
+ "PaymentRequest.NumberOfSelectionEdits.ShippingAddress.Completed", 0)); |
+ } |
} |