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

Unified Diff: components/autofill/core/browser/autofill_metrics_unittest.cc

Issue 2711543002: Experiment to add bank name in autofill ui. (Closed)
Patch Set: address comment Created 3 years, 6 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: components/autofill/core/browser/autofill_metrics_unittest.cc
diff --git a/components/autofill/core/browser/autofill_metrics_unittest.cc b/components/autofill/core/browser/autofill_metrics_unittest.cc
index 65c3b283f598b13a961094c0b88b75744efdbd05..639d23238f5aefc862bf38d269e33edcc81821f6 100644
--- a/components/autofill/core/browser/autofill_metrics_unittest.cc
+++ b/components/autofill/core/browser/autofill_metrics_unittest.cc
@@ -187,6 +187,20 @@ class TestPersonalDataManager : public PersonalDataManager {
Refresh();
}
+ // Removes all existing credit cards and creates 1 server card with a bank
+ // name.
+ void RecreateServerCreditCardsWithBankName() {
+ server_credit_cards_.clear();
+ std::unique_ptr<CreditCard> credit_card = base::MakeUnique<CreditCard>(
+ CreditCard::FULL_SERVER_CARD, "server_id");
+ test::SetCreditCardInfo(credit_card.get(), "name", "4111111111111111",
+ "12", "24", "1");
+ credit_card->set_guid("10000000-0000-0000-0000-000000000003");
+ credit_card->set_bank_name("Chase");
+ server_credit_cards_.push_back(std::move(credit_card));
+ Refresh();
+ }
+
bool IsAutofillEnabled() const override { return autofill_enabled_; }
void CreateAmbiguousProfiles() {
@@ -2529,6 +2543,11 @@ TEST_F(AutofillMetricsTest, CreditCardShownFormEvents) {
histogram_tester.ExpectBucketCount(
"Autofill.FormEvents.CreditCard",
AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1);
+ // Check that the bank name histogram was not recorded. ExpectBucketCount()
+ // can't be used here because it expects the histogram to exist.
+ EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix(
+ "Autofill.FormEvents.CreditCard")
+ ["Autofill.FormEvents.CreditCard.BankNameExperiment"]);
}
// Reset the autofill manager state.
@@ -2546,6 +2565,11 @@ TEST_F(AutofillMetricsTest, CreditCardShownFormEvents) {
histogram_tester.ExpectBucketCount(
"Autofill.FormEvents.CreditCard",
AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1);
+ // Check that the bank name histogram was not recorded. ExpectBucketCount()
+ // can't be used here because it expects the histogram to exist.
+ EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix(
+ "Autofill.FormEvents.CreditCard")
+ ["Autofill.FormEvents.CreditCard.BankNameExperiment"]);
}
// Reset the autofill manager state.
@@ -2563,6 +2587,59 @@ TEST_F(AutofillMetricsTest, CreditCardShownFormEvents) {
histogram_tester.ExpectBucketCount(
"Autofill.FormEvents.CreditCard",
AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 0);
+ // Check that the bank name histogram was not recorded. ExpectBucketCount()
+ // can't be used here because it expects the histogram to exist.
+ EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix(
+ "Autofill.FormEvents.CreditCard")
+ ["Autofill.FormEvents.CreditCard.BankNameExperiment"]);
+ }
+
+ // Recreate server cards with bank names.
+ personal_data_->RecreateServerCreditCardsWithBankName();
+
+ // Reset the autofill manager state.
+ autofill_manager_->Reset();
+ autofill_manager_->AddSeenForm(form, field_types, field_types);
+
+ {
+ // Simulating new popup being shown.
+ base::HistogramTester histogram_tester;
+ autofill_manager_->OnQueryFormFieldAutofill(0, form, field, gfx::RectF());
+ autofill_manager_->DidShowSuggestions(true /* is_new_popup */, form, field);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.FormEvents.CreditCard",
+ AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN, 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.FormEvents.CreditCard",
+ AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.FormEvents.CreditCard.BankNameExperiment",
+ AutofillMetrics::
+ FORM_EVENT_SUGGESTIONS_SHOWN_WITH_BANK_NAME_AVAILABLE_ONCE,
+ 1);
+ }
+
+ // Reset the autofill manager state.
+ autofill_manager_->Reset();
+ autofill_manager_->AddSeenForm(form, field_types, field_types);
+
+ {
+ // Simulating two popups in the same page load.
+ base::HistogramTester histogram_tester;
+ autofill_manager_->OnQueryFormFieldAutofill(0, form, field, gfx::RectF());
+ autofill_manager_->DidShowSuggestions(true /* is_new_popup */, form, field);
+ autofill_manager_->DidShowSuggestions(true /* is_new_popup */, form, field);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.FormEvents.CreditCard",
+ AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN, 2);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.FormEvents.CreditCard",
+ AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1);
+ histogram_tester.ExpectBucketCount(
+ "Autofill.FormEvents.CreditCard.BankNameExperiment",
+ AutofillMetrics::
+ FORM_EVENT_SUGGESTIONS_SHOWN_WITH_BANK_NAME_AVAILABLE_ONCE,
+ 1);
}
}
@@ -2731,6 +2808,11 @@ TEST_F(AutofillMetricsTest, CreditCardFilledFormEvents) {
histogram_tester.ExpectBucketCount(
"Autofill.FormEvents.CreditCard",
AutofillMetrics::FORM_EVENT_SERVER_SUGGESTION_FILLED_ONCE, 1);
+ // Check that the bank name histogram was not recorded. ExpectBucketCount()
+ // can't be used here because it expects the histogram to exist.
+ EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix(
Mathieu 2017/06/16 18:27:05 Can you use EXPECT_EQ(histogram_tester.ExpectTot
Shanfeng 2017/06/16 20:51:46 I cannot because it expects the histogram to exist
+ "Autofill.FormEvents.CreditCard")
+ ["Autofill.FormEvents.CreditCard.BankNameExperiment"]);
}
// Reset the autofill manager state.
@@ -2754,6 +2836,52 @@ TEST_F(AutofillMetricsTest, CreditCardFilledFormEvents) {
"Autofill.FormEvents.CreditCard",
AutofillMetrics::FORM_EVENT_LOCAL_SUGGESTION_FILLED_ONCE, 1);
}
+
+ // Recreate server cards with bank names.
+ personal_data_->RecreateServerCreditCardsWithBankName();
+
+ // Reset the autofill manager state.
+ autofill_manager_->Reset();
+ autofill_manager_->AddSeenForm(form, field_types, field_types);
+
+ {
+ // Simulating filling a full card server suggestion.
+ base::HistogramTester histogram_tester;
+ std::string guid(
+ "10000000-0000-0000-0000-000000000003"); // full server card
+ autofill_manager_->OnQueryFormFieldAutofill(0, form, field, gfx::RectF());
+ autofill_manager_->FillOrPreviewForm(
+ AutofillDriver::FORM_DATA_ACTION_FILL, 0, form, field,
+ autofill_manager_->MakeFrontendID(guid, std::string()));
+ histogram_tester.ExpectBucketCount(
+ "Autofill.FormEvents.CreditCard.BankNameExperiment",
+ AutofillMetrics::
+ FORM_EVENT_SERVER_SUGGESTION_FILLED_WITH_BANK_NAME_AVAILABLE_ONCE,
+ 1);
+ }
+
+ // Reset the autofill manager state.
+ autofill_manager_->Reset();
+ autofill_manager_->AddSeenForm(form, field_types, field_types);
+
+ {
+ // Simulating filling multiple times.
+ base::HistogramTester histogram_tester;
+ std::string guid(
+ "10000000-0000-0000-0000-000000000003"); // full server card
+ autofill_manager_->OnQueryFormFieldAutofill(0, form, field, gfx::RectF());
+ autofill_manager_->FillOrPreviewForm(
+ AutofillDriver::FORM_DATA_ACTION_FILL, 0, form, field,
+ autofill_manager_->MakeFrontendID(guid, std::string()));
+ autofill_manager_->FillOrPreviewForm(
+ AutofillDriver::FORM_DATA_ACTION_FILL, 0, form, field,
+ autofill_manager_->MakeFrontendID(guid, std::string()));
+ histogram_tester.ExpectBucketCount(
+ "Autofill.FormEvents.CreditCard.BankNameExperiment",
+ AutofillMetrics::
+ FORM_EVENT_SERVER_SUGGESTION_FILLED_WITH_BANK_NAME_AVAILABLE_ONCE,
+ 1);
+ }
}
// Test that we log submitted form events for credit cards.
@@ -3447,6 +3575,11 @@ TEST_F(AutofillMetricsTest, AddressShownFormEvents) {
histogram_tester.ExpectBucketCount(
"Autofill.FormEvents.Address",
AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1);
+ // Check that the bank name histogram was not recorded. ExpectBucketCount()
+ // can't be used here because it expects the histogram to exist.
+ EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix(
+ "Autofill.FormEvents.CreditCard")
+ ["Autofill.FormEvents.CreditCard.BankNameExperiment"]);
}
// Reset the autofill manager state.
@@ -3464,6 +3597,11 @@ TEST_F(AutofillMetricsTest, AddressShownFormEvents) {
histogram_tester.ExpectBucketCount(
"Autofill.FormEvents.Address",
AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 1);
+ // Check that the bank name histogram was not recorded. ExpectBucketCount()
+ // can't be used here because it expects the histogram to exist.
+ EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix(
+ "Autofill.FormEvents.CreditCard")
+ ["Autofill.FormEvents.CreditCard.BankNameExperiment"]);
}
// Reset the autofill manager state.
@@ -3481,6 +3619,11 @@ TEST_F(AutofillMetricsTest, AddressShownFormEvents) {
histogram_tester.ExpectBucketCount(
"Autofill.FormEvents.Address",
AutofillMetrics::FORM_EVENT_SUGGESTIONS_SHOWN_ONCE, 0);
+ // Check that the bank name histogram was not recorded. ExpectBucketCount()
+ // can't be used here because it expects the histogram to exist.
+ EXPECT_EQ(0, histogram_tester.GetTotalCountsForPrefix(
+ "Autofill.FormEvents.CreditCard")
+ ["Autofill.FormEvents.CreditCard.BankNameExperiment"]);
}
}

Powered by Google App Engine
This is Rietveld 408576698