OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <algorithm> | 5 #include <algorithm> |
6 #include <string> | 6 #include <string> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 autofill_table_->SetServerCreditCards(server_cards); | 392 autofill_table_->SetServerCreditCards(server_cards); |
393 personal_data_->Refresh(); | 393 personal_data_->Refresh(); |
394 | 394 |
395 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) | 395 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) |
396 .WillOnce(QuitMainMessageLoop()); | 396 .WillOnce(QuitMainMessageLoop()); |
397 base::MessageLoop::current()->Run(); | 397 base::MessageLoop::current()->Run(); |
398 | 398 |
399 EXPECT_EQ(0U, personal_data_->GetCreditCards().size()); | 399 EXPECT_EQ(0U, personal_data_->GetCreditCards().size()); |
400 } | 400 } |
401 | 401 |
402 // Tests that UpdateCreditCard can be used to mask or unmask server cards. | 402 // Tests that UpdateServerCreditCard can be used to mask or unmask server cards. |
403 TEST_F(PersonalDataManagerTest, UpdateServerCreditCards) { | 403 TEST_F(PersonalDataManagerTest, UpdateServerCreditCards) { |
404 EnableWalletCardImport(); | 404 EnableWalletCardImport(); |
405 | 405 |
406 std::vector<CreditCard> server_cards; | 406 std::vector<CreditCard> server_cards; |
407 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); | 407 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
408 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", | 408 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
409 "9012" /* Visa */, "01", "2010"); | 409 "9012" /* Visa */, "01", "2010"); |
410 server_cards.back().SetTypeForMaskedCard(kVisaCard); | 410 server_cards.back().SetTypeForMaskedCard(kVisaCard); |
411 | 411 |
412 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); | 412 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); |
(...skipping 2504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2917 EXPECT_NE(base::Time(), added_profile->use_date()); | 2917 EXPECT_NE(base::Time(), added_profile->use_date()); |
2918 EXPECT_NE(base::Time(), added_profile->modification_date()); | 2918 EXPECT_NE(base::Time(), added_profile->modification_date()); |
2919 | 2919 |
2920 added_card = personal_data_->GetCreditCardByGUID(credit_card.guid()); | 2920 added_card = personal_data_->GetCreditCardByGUID(credit_card.guid()); |
2921 ASSERT_TRUE(added_card); | 2921 ASSERT_TRUE(added_card); |
2922 EXPECT_EQ(1U, added_card->use_count()); | 2922 EXPECT_EQ(1U, added_card->use_count()); |
2923 EXPECT_NE(base::Time(), added_card->use_date()); | 2923 EXPECT_NE(base::Time(), added_card->use_date()); |
2924 EXPECT_NE(base::Time(), added_card->modification_date()); | 2924 EXPECT_NE(base::Time(), added_card->modification_date()); |
2925 } | 2925 } |
2926 | 2926 |
| 2927 TEST_F(PersonalDataManagerTest, UpdateServerCreditCardUsageStats) { |
| 2928 EnableWalletCardImport(); |
| 2929 |
| 2930 std::vector<CreditCard> server_cards; |
| 2931 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
| 2932 test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
| 2933 "9012" /* Visa */, "01", "2010"); |
| 2934 server_cards.back().SetTypeForMaskedCard(kVisaCard); |
| 2935 |
| 2936 server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); |
| 2937 test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker", |
| 2938 "2109" /* Mastercard */, "12", "2012"); |
| 2939 server_cards.back().SetTypeForMaskedCard(kMasterCard); |
| 2940 |
| 2941 server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); |
| 2942 test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", |
| 2943 "347666888555" /* American Express */, "04", "2015"); |
| 2944 |
| 2945 autofill_table_->SetServerCreditCards(server_cards); |
| 2946 personal_data_->Refresh(); |
| 2947 |
| 2948 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) |
| 2949 .WillOnce(QuitMainMessageLoop()); |
| 2950 base::MessageLoop::current()->Run(); |
| 2951 |
| 2952 ASSERT_EQ(3U, personal_data_->GetCreditCards().size()); |
| 2953 // The GUIDs will be different, so just compare the data. |
| 2954 for (size_t i = 0; i < 3; ++i) |
| 2955 EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i])); |
| 2956 |
| 2957 CreditCard* unmasked_card = &server_cards.front(); |
| 2958 unmasked_card->set_record_type(CreditCard::FULL_SERVER_CARD); |
| 2959 unmasked_card->SetNumber(ASCIIToUTF16("423456789012")); |
| 2960 EXPECT_NE(0, unmasked_card->Compare( |
| 2961 *personal_data_->GetCreditCards().front())); |
| 2962 personal_data_->UpdateServerCreditCard(*unmasked_card); |
| 2963 |
| 2964 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) |
| 2965 .WillOnce(QuitMainMessageLoop()); |
| 2966 base::MessageLoop::current()->Run(); |
| 2967 |
| 2968 for (size_t i = 0; i < 3; ++i) |
| 2969 EXPECT_EQ(0, server_cards[i].Compare(*personal_data_->GetCreditCards()[i])); |
| 2970 |
| 2971 // For an unmasked card, usage data starts out as 1 and Now(). |
| 2972 EXPECT_EQ(1U, personal_data_->GetCreditCards()[0]->use_count()); |
| 2973 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[0]->use_date()); |
| 2974 |
| 2975 EXPECT_EQ(0U, personal_data_->GetCreditCards()[1]->use_count()); |
| 2976 EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[1]->use_date()); |
| 2977 |
| 2978 EXPECT_EQ(0U, personal_data_->GetCreditCards()[2]->use_count()); |
| 2979 EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[2]->use_date()); |
| 2980 |
| 2981 server_cards.back().set_guid(personal_data_->GetCreditCards()[2]->guid()); |
| 2982 personal_data_->RecordUseOf(server_cards.back()); |
| 2983 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) |
| 2984 .WillOnce(QuitMainMessageLoop()); |
| 2985 base::MessageLoop::current()->Run(); |
| 2986 |
| 2987 EXPECT_EQ(1U, personal_data_->GetCreditCards()[0]->use_count()); |
| 2988 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[0]->use_date()); |
| 2989 |
| 2990 EXPECT_EQ(0U, personal_data_->GetCreditCards()[1]->use_count()); |
| 2991 EXPECT_EQ(base::Time(), personal_data_->GetCreditCards()[1]->use_date()); |
| 2992 |
| 2993 EXPECT_EQ(1U, personal_data_->GetCreditCards()[2]->use_count()); |
| 2994 EXPECT_NE(base::Time(), personal_data_->GetCreditCards()[2]->use_date()); |
| 2995 } |
| 2996 |
2927 } // namespace autofill | 2997 } // namespace autofill |
OLD | NEW |