| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "base/utf_string_conversions.h" | |
| 6 #include "base/values.h" | |
| 7 #include "chrome/browser/autofill/wallet/instrument.h" | |
| 8 #include "chrome/browser/autofill/wallet/wallet_address.h" | |
| 9 #include "chrome/browser/autofill/wallet/wallet_test_util.h" | |
| 10 #include "testing/gtest/include/gtest/gtest.h" | |
| 11 | |
| 12 namespace { | |
| 13 | |
| 14 const char kPrimaryAccountNumber[] = "4444444444444448"; | |
| 15 const char kCardVerificationNumber[] = "123"; | |
| 16 const char kLastFourDigits[] = "4448"; | |
| 17 | |
| 18 } | |
| 19 | |
| 20 namespace autofill { | |
| 21 namespace wallet { | |
| 22 | |
| 23 TEST(Instrument, LastFourDigits) { | |
| 24 Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), | |
| 25 ASCIIToUTF16(kCardVerificationNumber), | |
| 26 12, | |
| 27 2015, | |
| 28 Instrument::VISA, | |
| 29 GetTestShippingAddress().Pass()); | |
| 30 | |
| 31 EXPECT_EQ(ASCIIToUTF16(kLastFourDigits), instrument.last_four_digits()); | |
| 32 EXPECT_TRUE(instrument.IsValid()); | |
| 33 } | |
| 34 | |
| 35 TEST(Instrument, NoPrimaryAccountNumberIsInvalid) { | |
| 36 Instrument instrument(string16(), | |
| 37 ASCIIToUTF16(kCardVerificationNumber), | |
| 38 12, | |
| 39 2015, | |
| 40 Instrument::VISA, | |
| 41 GetTestShippingAddress().Pass()); | |
| 42 | |
| 43 EXPECT_FALSE(instrument.IsValid()); | |
| 44 } | |
| 45 | |
| 46 TEST(Instrument, TooShortPrimaryAccountNumberIsInvalid) { | |
| 47 Instrument instrument(ASCIIToUTF16("44447"), | |
| 48 ASCIIToUTF16(kCardVerificationNumber), | |
| 49 12, | |
| 50 2015, | |
| 51 Instrument::VISA, | |
| 52 GetTestShippingAddress().Pass()); | |
| 53 | |
| 54 EXPECT_FALSE(instrument.IsValid()); | |
| 55 } | |
| 56 | |
| 57 TEST(Instrument, TooLongPrimaryAccountNumberIsInvalid) { | |
| 58 Instrument instrument(ASCIIToUTF16("44444444444444444448"), | |
| 59 ASCIIToUTF16(kCardVerificationNumber), | |
| 60 12, | |
| 61 2015, | |
| 62 Instrument::VISA, | |
| 63 GetTestShippingAddress().Pass()); | |
| 64 | |
| 65 EXPECT_FALSE(instrument.IsValid()); | |
| 66 } | |
| 67 | |
| 68 TEST(Instrument, PrimaryAccountNumberNotPassingLuhnIsInvalid) { | |
| 69 Instrument instrument(ASCIIToUTF16("4444444444444444"), | |
| 70 ASCIIToUTF16(kCardVerificationNumber), | |
| 71 12, | |
| 72 2015, | |
| 73 Instrument::VISA, | |
| 74 GetTestShippingAddress().Pass()); | |
| 75 | |
| 76 EXPECT_FALSE(instrument.IsValid()); | |
| 77 } | |
| 78 | |
| 79 TEST(Instrument, NoCardVerificationNumberIsInvalid) { | |
| 80 Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), | |
| 81 string16(), | |
| 82 12, | |
| 83 2015, | |
| 84 Instrument::VISA, | |
| 85 GetTestShippingAddress().Pass()); | |
| 86 | |
| 87 EXPECT_FALSE(instrument.IsValid()); | |
| 88 } | |
| 89 | |
| 90 TEST(Instrument, TooShortCardVerificationNumberIsInvalid) { | |
| 91 Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), | |
| 92 ASCIIToUTF16("12"), | |
| 93 12, | |
| 94 2015, | |
| 95 Instrument::VISA, | |
| 96 GetTestShippingAddress().Pass()); | |
| 97 | |
| 98 EXPECT_FALSE(instrument.IsValid()); | |
| 99 } | |
| 100 | |
| 101 TEST(Instrument, TooLongCardVerificationNumberIsInvalid) { | |
| 102 Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), | |
| 103 ASCIIToUTF16("12345"), | |
| 104 12, | |
| 105 2015, | |
| 106 Instrument::VISA, | |
| 107 GetTestShippingAddress().Pass()); | |
| 108 | |
| 109 EXPECT_FALSE(instrument.IsValid()); | |
| 110 } | |
| 111 | |
| 112 TEST(Instrument, ZeroAsExpirationMonthIsInvalid) { | |
| 113 Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), | |
| 114 ASCIIToUTF16(kCardVerificationNumber), | |
| 115 0, | |
| 116 2015, | |
| 117 Instrument::VISA, | |
| 118 GetTestShippingAddress().Pass()); | |
| 119 | |
| 120 EXPECT_FALSE(instrument.IsValid()); | |
| 121 } | |
| 122 | |
| 123 TEST(Instrument, TooLargeExpirationMonthIsInvalid) { | |
| 124 Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), | |
| 125 ASCIIToUTF16(kCardVerificationNumber), | |
| 126 13, | |
| 127 2015, | |
| 128 Instrument::VISA, | |
| 129 GetTestShippingAddress().Pass()); | |
| 130 | |
| 131 EXPECT_FALSE(instrument.IsValid()); | |
| 132 } | |
| 133 | |
| 134 TEST(Instrument, TooSmallExpirationYearIsInvalid) { | |
| 135 Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), | |
| 136 ASCIIToUTF16(kCardVerificationNumber), | |
| 137 12, | |
| 138 999, | |
| 139 Instrument::VISA, | |
| 140 GetTestShippingAddress().Pass()); | |
| 141 | |
| 142 EXPECT_FALSE(instrument.IsValid()); | |
| 143 } | |
| 144 | |
| 145 TEST(Instrument, TooLargeExpirationYearIsInvalid) { | |
| 146 Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), | |
| 147 ASCIIToUTF16(kCardVerificationNumber), | |
| 148 12, | |
| 149 10000, | |
| 150 Instrument::VISA, | |
| 151 GetTestShippingAddress().Pass()); | |
| 152 | |
| 153 EXPECT_FALSE(instrument.IsValid()); | |
| 154 } | |
| 155 | |
| 156 TEST(Instrument, ToDictionary) { | |
| 157 base::DictionaryValue expected; | |
| 158 expected.SetString("type", "CREDIT_CARD"); | |
| 159 expected.SetInteger("credit_card.exp_month", 12); | |
| 160 expected.SetInteger("credit_card.exp_year", 2015); | |
| 161 expected.SetString("credit_card.last_4_digits", kLastFourDigits); | |
| 162 expected.SetString("credit_card.fop_type", "VISA"); | |
| 163 expected.SetString("credit_card.address.country_name_code", | |
| 164 "ship_country_name_code"); | |
| 165 expected.SetString("credit_card.address.recipient_name", | |
| 166 "ship_recipient_name"); | |
| 167 expected.SetString("credit_card.address.locality_name", | |
| 168 "ship_locality_name"); | |
| 169 expected.SetString("credit_card.address.administrative_area_name", | |
| 170 "ship_admin_area_name"); | |
| 171 expected.SetString("credit_card.address.postal_code_number", | |
| 172 "ship_postal_code_number"); | |
| 173 base::ListValue* address_lines = new base::ListValue(); | |
| 174 address_lines->AppendString("ship_address_line_1"); | |
| 175 address_lines->AppendString("ship_address_line_2"); | |
| 176 expected.Set("credit_card.address.address_line", address_lines); | |
| 177 | |
| 178 Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), | |
| 179 ASCIIToUTF16(kCardVerificationNumber), | |
| 180 12, | |
| 181 2015, | |
| 182 Instrument::VISA, | |
| 183 GetTestShippingAddress().Pass()); | |
| 184 | |
| 185 EXPECT_TRUE(expected.Equals(instrument.ToDictionary().get())); | |
| 186 } | |
| 187 | |
| 188 } // namespace wallet | |
| 189 } // namespace autofill | |
| OLD | NEW |