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

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

Issue 2864363004: Adds UMA for days since previous use to help us determine the validity (Closed)
Patch Set: Merge forward. 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: components/autofill/core/browser/autofill_manager_unittest.cc
diff --git a/components/autofill/core/browser/autofill_manager_unittest.cc b/components/autofill/core/browser/autofill_manager_unittest.cc
index be3d39fdf27a42da5252d904b5e263ea8c9ac145..2356e979df6e2dc80333be6d253e5283b999ed75 100644
--- a/components/autofill/core/browser/autofill_manager_unittest.cc
+++ b/components/autofill/core/browser/autofill_manager_unittest.cc
@@ -183,7 +183,7 @@ class TestPersonalDataManager : public PersonalDataManager {
void AddCreditCard(const CreditCard& credit_card) override {
std::unique_ptr<CreditCard> local_credit_card =
base::MakeUnique<CreditCard>(credit_card);
- local_credit_card->set_modification_date(base::Time::Now());
+ local_credit_card->set_modification_date(AutofillClock::Now());
local_credit_cards_.push_back(std::move(local_credit_card));
}
@@ -231,7 +231,7 @@ class TestPersonalDataManager : public PersonalDataManager {
void AddServerCreditCard(const CreditCard& credit_card) {
std::unique_ptr<CreditCard> server_credit_card =
base::MakeUnique<CreditCard>(credit_card);
- server_credit_card->set_modification_date(base::Time::Now());
+ server_credit_card->set_modification_date(AutofillClock::Now());
server_credit_cards_.push_back(std::move(server_credit_card));
}
@@ -309,7 +309,8 @@ class TestPersonalDataManager : public PersonalDataManager {
"04", "2999");
credit_card->set_guid("00000000-0000-0000-0000-000000000004");
credit_card->set_use_count(10);
- credit_card->set_use_date(base::Time::Now() - base::TimeDelta::FromDays(5));
+ credit_card->set_use_date(AutofillClock::Now() -
+ base::TimeDelta::FromDays(5));
credit_cards->push_back(std::move(credit_card));
credit_card = base::MakeUnique<CreditCard>();
@@ -318,7 +319,8 @@ class TestPersonalDataManager : public PersonalDataManager {
"10", "2998");
credit_card->set_guid("00000000-0000-0000-0000-000000000005");
credit_card->set_use_count(5);
- credit_card->set_use_date(base::Time::Now() - base::TimeDelta::FromDays(4));
+ credit_card->set_use_date(AutofillClock::Now() -
+ base::TimeDelta::FromDays(4));
credit_cards->push_back(std::move(credit_card));
credit_card = base::MakeUnique<CreditCard>();
@@ -1961,7 +1963,8 @@ TEST_F(AutofillManagerTest, GetCreditCardSuggestions_RepeatedObfuscatedNumber) {
"5231567890123456", // Mastercard
"05", "2999");
credit_card.set_guid("00000000-0000-0000-0000-000000000007");
- credit_card.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(15));
+ credit_card.set_use_date(AutofillClock::Now() -
+ base::TimeDelta::FromDays(15));
autofill_manager_->AddCreditCard(credit_card);
// Set up our form data.
@@ -4671,7 +4674,6 @@ TEST_F(AutofillManagerTest, UploadCreditCard) {
// Server did not send a server_id, expect copy of card is not stored.
EXPECT_TRUE(autofill_manager_->GetCreditCards().empty());
-
// Verify that the correct histogram entry (and only that) was logged.
ExpectUniqueCardUploadDecision(histogram_tester,
AutofillMetrics::UPLOAD_OFFERED);
@@ -4680,6 +4682,10 @@ TEST_F(AutofillManagerTest, UploadCreditCard) {
// Verify the histogram entry for recent profile modification.
histogram_tester.ExpectUniqueSample(
"Autofill.HasModifiedProfile.CreditCardFormSubmission", true, 1);
+ // Verify that UMA for "DaysSincePreviousUse" was not logged because we
+ // modified the profile.
+ histogram_tester.ExpectTotalCount(
+ "Autofill.DaysSincePreviousUseAtSubmission.Profile", 0);
}
TEST_F(AutofillManagerTest, UploadCreditCardAndSaveCopy) {
@@ -5874,10 +5880,14 @@ TEST_F(AutofillManagerTest,
// Set up our credit card form data.
FormData credit_card_form;
CreateTestCreditCardFormData(&credit_card_form, true, false);
- FormsSeen(std::vector<FormData>(1, credit_card_form));
+ FormsSeen({credit_card_form});
// Edit the data, but use yet another name, and submit.
credit_card_form.fields[0].value = ASCIIToUTF16("Bob Master");
+ FormsSeen({credit_card_form});
+
+ // Edit the credit card form and submit.
+ credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
credit_card_form.fields[2].value = ASCIIToUTF16("11");
credit_card_form.fields[3].value = ASCIIToUTF16("2017");
@@ -5895,6 +5905,54 @@ TEST_F(AutofillManagerTest,
histogram_tester, AutofillMetrics::UPLOAD_NOT_OFFERED_CONFLICTING_NAMES);
}
+TEST_F(AutofillManagerTest, UploadCreditCard_LogPreviousUseDate) {
+ // Create the test clock and set the time to a specific value.
+ TestAutofillClock test_clock;
+ test_clock.SetNow(kArbitraryTime);
+
+ personal_data_.ClearAutofillProfiles();
+ autofill_manager_->set_credit_card_upload_enabled(true);
+
+ // Create, fill and submit an address form in order to establish a recent
+ // profile which can be selected for the upload request.
+ FormData address_form;
+ test::CreateTestAddressFormData(&address_form);
+ FormsSeen({address_form});
+ ManuallyFillAddressForm("Flo", "Master", "77401", "US", &address_form);
+ FormSubmitted(address_form);
+ const std::vector<AutofillProfile*>& profiles =
+ personal_data_.GetProfilesToSuggest();
+ ASSERT_EQ(1U, profiles.size());
+
+ // Advance the current time and simulate use of the address profile.
+ test_clock.SetNow(kMuchLaterTime);
+ profiles[0]->RecordAndLogUse();
+
+ // Set up our credit card form data.
+ FormData credit_card_form;
+ CreateTestCreditCardFormData(&credit_card_form, true, false);
+ FormsSeen({credit_card_form});
+
+ // Edit the credit card form and submit.
+ credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
+ credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
+ credit_card_form.fields[2].value = ASCIIToUTF16("11");
+ credit_card_form.fields[3].value = ASCIIToUTF16("2017");
+ credit_card_form.fields[4].value = ASCIIToUTF16("123");
+
+ base::HistogramTester histogram_tester;
+
+ EXPECT_CALL(autofill_client_, ConfirmSaveCreditCardLocally(_, _)).Times(0);
+ FormSubmitted(credit_card_form);
+ EXPECT_TRUE(autofill_manager_->credit_card_was_uploaded());
+
+ // Verify that UMA for "DaysSincePreviousUse" is logged.
+ histogram_tester.ExpectUniqueSample(
+ "Autofill.DaysSincePreviousUseAtSubmission.Profile",
+ (kMuchLaterTime - kArbitraryTime).InDays(),
+ /*expected_count=*/1);
+}
+
TEST_F(AutofillManagerTest, UploadCreditCard_UploadDetailsFails) {
EnableUkmLogging();
personal_data_.ClearAutofillProfiles();
« no previous file with comments | « components/autofill/core/browser/autofill_manager.cc ('k') | components/autofill/core/browser/autofill_profile.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698