Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(868)

Unified Diff: chrome/browser/ui/views/payments/payment_request_can_make_payment_metrics_browsertest.cc

Issue 2870153002: [Payments] Record navigations that close the Payment Request as aborts. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/payments/payment_request_can_make_payment_metrics_browsertest.cc
diff --git a/chrome/browser/ui/views/payments/payment_request_can_make_payment_metrics_browsertest.cc b/chrome/browser/ui/views/payments/payment_request_can_make_payment_metrics_browsertest.cc
index 3c75b6e8263f0079cd2d6bf0658e028b7e7c8bf3..8901d1d6848581457f6313c1690d88f778df6d39 100644
--- a/chrome/browser/ui/views/payments/payment_request_can_make_payment_metrics_browsertest.cc
+++ b/chrome/browser/ui/views/payments/payment_request_can_make_payment_metrics_browsertest.cc
@@ -230,6 +230,79 @@ IN_PROC_BROWSER_TEST_F(PaymentRequestCanMakePaymentMetricsTest,
JourneyLogger::COMPLETION_STATUS_USER_ABORTED, 1);
}
+IN_PROC_BROWSER_TEST_F(PaymentRequestCanMakePaymentMetricsTest,
+ Called_False_Shown_UserAborted_Navigation) {
+ base::HistogramTester histogram_tester;
+
+ // Don't add a card on file, so CanMakePayment returns false.
+ // Start the Payment Request and expect CanMakePayment to be called before the
+ // Payment Request is shown.
+ ResetEventObserverForSequence(
+ {DialogEvent::CAN_MAKE_PAYMENT_CALLED, DialogEvent::DIALOG_OPENED});
+ ASSERT_TRUE(content::ExecuteScript(GetActiveWebContents(), "queryShow();"));
+ WaitForObservedEvent();
+
+ // Simulate that the user navigates away from the Payment Request.
+ ResetEventObserverForSequence({DialogEvent::DIALOG_CLOSED});
+ NavigateTo("/payment_request_email_test.html");
Mathieu 2017/05/09 18:12:19 can you have a test that navigates to a different
sebsg 2017/05/10 14:58:48 Done.
+ WaitForObservedEvent();
+
+ // Make sure the metrics are logged correctly.
+ histogram_tester.ExpectBucketCount("PaymentRequest.CanMakePayment.Usage",
+ JourneyLogger::CAN_MAKE_PAYMENT_USED, 1);
+ histogram_tester.ExpectBucketCount(
+ "PaymentRequest.CanMakePayment.Used.EffectOnShow",
+ JourneyLogger::CMP_SHOW_DID_SHOW, 1);
+ histogram_tester.ExpectBucketCount(
+ "PaymentRequest.CanMakePayment.Used.FalseWithShowEffectOnCompletion",
+ JourneyLogger::COMPLETION_STATUS_USER_ABORTED, 1);
+}
+
+IN_PROC_BROWSER_TEST_F(PaymentRequestCanMakePaymentMetricsTest,
+ DISABLED_Called_True_NotShown) {
Mathieu 2017/05/09 18:12:19 can you enable?
sebsg 2017/05/10 14:58:48 Done.
+ base::HistogramTester histogram_tester;
+
+ // Setup a credit card with an associated billing address so CanMakePayment
+ // returns true.
+ SetupInitialAddressAndCreditCard();
+
+ // Try to start the Payment Request, but only CanMakePayment should be called.
+ ResetEventObserver(DialogEvent::CAN_MAKE_PAYMENT_CALLED);
+ ASSERT_TRUE(content::ExecuteScript(GetActiveWebContents(), "queryNoShow();"));
+ WaitForObservedEvent();
+
+ // Navigate away to trigger the log.
+ NavigateTo("/payment_request_email_test.html");
+
+ // Make sure the metrics are logged correctly.
+ histogram_tester.ExpectBucketCount("PaymentRequest.CanMakePayment.Usage",
+ JourneyLogger::CAN_MAKE_PAYMENT_USED, 1);
+ histogram_tester.ExpectBucketCount(
+ "PaymentRequest.CanMakePayment.Used.EffectOnShow",
+ JourneyLogger::CMP_SHOW_COULD_MAKE_PAYMENT, 1);
+}
+
+IN_PROC_BROWSER_TEST_F(PaymentRequestCanMakePaymentMetricsTest,
+ DISABLED_Called_False_NotShown) {
Mathieu 2017/05/09 18:12:19 same
sebsg 2017/05/10 14:58:47 Done.
+ base::HistogramTester histogram_tester;
+
+ // Don't add a card on file, so CanMakePayment returns false.
+ // Try to start the Payment Request, but only CanMakePayment should be called.
+ ResetEventObserver(DialogEvent::CAN_MAKE_PAYMENT_CALLED);
+ ASSERT_TRUE(content::ExecuteScript(GetActiveWebContents(), "queryNoShow();"));
+ WaitForObservedEvent();
+
+ // Navigate away to trigger the log.
+ NavigateTo("/payment_request_email_test.html");
+
+ // Make sure the metrics are logged correctly.
+ histogram_tester.ExpectBucketCount("PaymentRequest.CanMakePayment.Usage",
+ JourneyLogger::CAN_MAKE_PAYMENT_USED, 1);
+ histogram_tester.ExpectBucketCount(
+ "PaymentRequest.CanMakePayment.Used.EffectOnShow",
+ JourneyLogger::CMP_SHOW_COULD_NOT_MAKE_PAYMENT_AND_DID_NOT_SHOW, 1);
+}
+
IN_PROC_BROWSER_TEST_F(PaymentRequestCanMakePaymentMetricsTest,
NotCalled_Shown_Completed) {
base::HistogramTester histogram_tester;
« no previous file with comments | « no previous file | components/payments/content/payment_request.h » ('j') | components/payments/content/payment_request.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698