Commit b84c2c2c authored by sebsg's avatar sebsg Committed by Commit Bot

[Payments] Add a journeylogger ukm test when user completes a PR.

Change-Id: I6094dd41a321a93333bee8c8d26b16db7cff1191
Reviewed-on: https://chromium-review.googlesource.com/580348
Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org>
Commit-Queue: Mathieu Perreault <mathp@chromium.org>
Reviewed-by: default avatarMathieu Perreault <mathp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488376}
parent a4a53ea5
......@@ -1021,8 +1021,10 @@ TEST(JourneyLoggerTest, RecordJourneyStatsHistograms_TwoPaymentRequests) {
JourneyLogger::COMPLETION_STATUS_USER_ABORTED, 1);
}
// Tests that the Payment Request UKMs are logged correctly.
TEST(JourneyLoggerTest, RecordJourneyStatsHistograms_CheckoutFunnelUkm) {
// Tests that the Payment Request UKMs are logged correctly when the user aborts
// the Payment Request.
TEST(JourneyLoggerTest,
RecordJourneyStatsHistograms_CheckoutFunnelUkm_UserAborted) {
ukm::TestUkmRecorder ukm_recorder;
char test_url[] = "http://www.google.com/";
......@@ -1060,4 +1062,41 @@ TEST(JourneyLoggerTest, RecordJourneyStatsHistograms_CheckoutFunnelUkm) {
step_metric->value);
}
// Tests that the Payment Request UKMs are logged correctly when the user
// completes the Payment Request.
TEST(JourneyLoggerTest,
RecordJourneyStatsHistograms_CheckoutFunnelUkm_Completed) {
ukm::TestUkmRecorder ukm_recorder;
char test_url[] = "http://www.google.com/";
base::HistogramTester histogram_tester;
JourneyLogger logger(/*is_incognito=*/true, /*url=*/GURL(test_url),
/*ukm_recorder=*/&ukm_recorder);
// Simulate that the user aborts after being shown the Payment Request.
logger.SetEventOccurred(JourneyLogger::EVENT_SHOWN);
logger.SetCompleted();
// Make sure the UKM was logged correctly.
ASSERT_EQ(1U, ukm_recorder.sources_count());
const ukm::UkmSource* source = ukm_recorder.GetSourceForUrl(test_url);
ASSERT_NE(nullptr, source);
ASSERT_EQ(1U, ukm_recorder.entries_count());
const ukm::mojom::UkmEntry* entry = ukm_recorder.GetEntry(0);
EXPECT_EQ(source->id(), entry->source_id);
EXPECT_EQ(base::HashMetricName(internal::kUKMCheckoutEventsEntryName),
entry->event_hash);
const ukm::mojom::UkmMetric* status_metric = ukm::TestUkmRecorder::FindMetric(
entry, internal::kUKMCompletionStatusMetricName);
ASSERT_NE(nullptr, status_metric);
EXPECT_EQ(JourneyLogger::COMPLETION_STATUS_COMPLETED, status_metric->value);
const ukm::mojom::UkmMetric* step_metric =
ukm::TestUkmRecorder::FindMetric(entry, internal::kUKMEventsMetricName);
ASSERT_NE(nullptr, step_metric);
EXPECT_EQ(JourneyLogger::EVENT_SHOWN, step_metric->value);
}
} // namespace payments
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment