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

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

Issue 947693002: Add use_count and use_date to unmasked server cards as well. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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/personal_data_manager_unittest.cc
diff --git a/components/autofill/core/browser/personal_data_manager_unittest.cc b/components/autofill/core/browser/personal_data_manager_unittest.cc
index 5b435e29679a84c8ebeddf4807626e06a44594a5..90356134ff1b8bbd971d1f5bf90a97ef5916cfba 100644
--- a/components/autofill/core/browser/personal_data_manager_unittest.cc
+++ b/components/autofill/core/browser/personal_data_manager_unittest.cc
@@ -399,7 +399,7 @@ TEST_F(PersonalDataManagerTest, ReturnsServerCreditCards) {
EXPECT_EQ(0U, personal_data_->GetCreditCards().size());
}
-// Tests that UpdateCreditCard can be used to mask or unmask server cards.
+// Tests that UpdateServerCreditCard can be used to mask or unmask server cards.
TEST_F(PersonalDataManagerTest, UpdateServerCreditCards) {
EnableWalletCardImport();
@@ -2924,4 +2924,74 @@ TEST_F(PersonalDataManagerTest, RecordUseOf) {
EXPECT_NE(base::Time(), added_card->modification_date());
}
+TEST_F(PersonalDataManagerTest, UpdateServerCreditCardUsageStats) {
+ EnableWalletCardImport();
+
+ std::vector<CreditCard> server_cards;
+ server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123"));
+ test::SetCreditCardInfo(&server_cards.back(), "John Dillinger",
+ "9012" /* Visa */, "01", "2010");
+ server_cards.back().SetTypeForMaskedCard(kVisaCard);
+
+ server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456"));
+ test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker",
+ "2109" /* Mastercard */, "12", "2012");
+ server_cards.back().SetTypeForMaskedCard(kMasterCard);
+
+ server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789"));
+ test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow",
+ "347666888555" /* American Express */, "04", "2015");
+
+ autofill_table_->SetServerCreditCards(server_cards);
+ personal_data_->Refresh();
+
+ EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
+ .WillOnce(QuitMainMessageLoop());
+ base::MessageLoop::current()->Run();
+
+ ASSERT_EQ(3U, personal_data_->GetCreditCards().size());
+ // The GUIDs will be different, so just compare the data.
+ for (size_t i = 0; i < 3; ++i)
+ EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i]));
+
+ CreditCard* unmasked_card = &server_cards.front();
+ unmasked_card->set_record_type(CreditCard::FULL_SERVER_CARD);
+ unmasked_card->SetNumber(ASCIIToUTF16("423456789012"));
+ EXPECT_NE(0, unmasked_card->Compare(
+ *personal_data_->GetCreditCards().front()));
+ personal_data_->UpdateServerCreditCard(*unmasked_card);
+
+ EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
+ .WillOnce(QuitMainMessageLoop());
+ base::MessageLoop::current()->Run();
+
+ for (size_t i = 0; i < 3; ++i)
+ EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i]));
+
+ // For an unmasked card, usage data starts out as 1 and Now().
+ EXPECT_EQ(1U, personal_data_->GetCreditCards()[0]->use_count());
+ EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[0]->use_date());
+
+ EXPECT_EQ(0U, personal_data_->GetCreditCards()[1]->use_count());
+ EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[1]->use_date());
+
+ EXPECT_EQ(0U, personal_data_->GetCreditCards()[2]->use_count());
+ EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[2]->use_date());
+
+ server_cards.back().set_guid(personal_data_->GetCreditCards()[2]->guid());
+ personal_data_->RecordUseOf(server_cards.back());
+ EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
+ .WillOnce(QuitMainMessageLoop());
+ base::MessageLoop::current()->Run();
+
+ EXPECT_EQ(1U, personal_data_->GetCreditCards()[0]->use_count());
+ EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[0]->use_date());
+
+ EXPECT_EQ(0U, personal_data_->GetCreditCards()[1]->use_count());
+ EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[1]->use_date());
+
+ EXPECT_EQ(1U, personal_data_->GetCreditCards()[2]->use_count());
+ EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[2]->use_date());
+}
+
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698