| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/json/json_reader.h" | 5 #include "base/json/json_reader.h" |
| 6 #include "base/logging.h" | 6 #include "base/logging.h" |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/values.h" | 8 #include "base/values.h" |
| 9 #include "chrome/browser/autofill/wallet/required_action.h" |
| 9 #include "chrome/browser/autofill/wallet/wallet_items.h" | 10 #include "chrome/browser/autofill/wallet/wallet_items.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
| 11 | 12 |
| 12 namespace { | 13 namespace { |
| 13 | 14 |
| 14 const char kMaskedInstrument[] = | 15 const char kMaskedInstrument[] = |
| 15 "{" | 16 "{" |
| 16 " \"descriptive_name\":\"descriptive_name\"," | 17 " \"descriptive_name\":\"descriptive_name\"," |
| 17 " \"type\":\"VISA\"," | 18 " \"type\":\"VISA\"," |
| 18 " \"supported_currency\":" | 19 " \"supported_currency\":" |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 "{" | 207 "{" |
| 207 " \"legal_document_id\":\"doc_id\"," | 208 " \"legal_document_id\":\"doc_id\"," |
| 208 " \"display_name\":\"display_name\"" | 209 " \"display_name\":\"display_name\"" |
| 209 "}"; | 210 "}"; |
| 210 | 211 |
| 211 const char kWalletItemsWithRequiredActions[] = | 212 const char kWalletItemsWithRequiredActions[] = |
| 212 "{" | 213 "{" |
| 213 " \"google_transaction_id\":\"google_transaction_id\"," | 214 " \"google_transaction_id\":\"google_transaction_id\"," |
| 214 " \"required_action\":" | 215 " \"required_action\":" |
| 215 " [" | 216 " [" |
| 216 " \"required_action\"" | 217 " \" setup_wallet\"," |
| 218 " \"AcCePt_ToS \"," |
| 219 " \" \\tGAIA_auth \\n\\r\"," |
| 220 " \"INVALID_form_field\"" |
| 217 " ]" | 221 " ]" |
| 218 "}"; | 222 "}"; |
| 219 | 223 |
| 224 const char kWalletItemsWithInvalidRequiredActions[] = |
| 225 "{" |
| 226 " \"google_transaction_id\":\"google_transaction_id\"," |
| 227 " \"required_action\":" |
| 228 " [" |
| 229 " \"cvc_risk_CHALLENGE\"," |
| 230 " \"UPGRADE_MIN_ADDRESS\"," |
| 231 " \"update_EXPIRATION_date\"," |
| 232 " \" 忍者の正体 \"" |
| 233 " ]" |
| 234 "}"; |
| 235 |
| 220 const char kWalletItems[] = | 236 const char kWalletItems[] = |
| 221 "{" | 237 "{" |
| 222 " \"required_action\":" | 238 " \"required_action\":" |
| 223 " [" | 239 " [" |
| 224 " ]," | 240 " ]," |
| 225 " \"google_transaction_id\":\"google_transaction_id\"," | 241 " \"google_transaction_id\":\"google_transaction_id\"," |
| 226 " \"instrument\":" | 242 " \"instrument\":" |
| 227 " [" | 243 " [" |
| 228 " {" | 244 " {" |
| 229 " \"descriptive_name\":\"descriptive_name\"," | 245 " \"descriptive_name\":\"descriptive_name\"," |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 | 394 |
| 379 TEST_F(WalletItemsTest, CreateLegalDocument) { | 395 TEST_F(WalletItemsTest, CreateLegalDocument) { |
| 380 SetUpDictionary(kLegalDocument); | 396 SetUpDictionary(kLegalDocument); |
| 381 WalletItems::LegalDocument expected("doc_id", "display_name", "doc_body"); | 397 WalletItems::LegalDocument expected("doc_id", "display_name", "doc_body"); |
| 382 ASSERT_EQ(expected, | 398 ASSERT_EQ(expected, |
| 383 *WalletItems::LegalDocument::CreateLegalDocument(*dict)); | 399 *WalletItems::LegalDocument::CreateLegalDocument(*dict)); |
| 384 } | 400 } |
| 385 | 401 |
| 386 TEST_F(WalletItemsTest, CreateWalletItemsWithRequiredActions) { | 402 TEST_F(WalletItemsTest, CreateWalletItemsWithRequiredActions) { |
| 387 SetUpDictionary(kWalletItemsWithRequiredActions); | 403 SetUpDictionary(kWalletItemsWithRequiredActions); |
| 388 std::vector<std::string> required_actions; | 404 |
| 389 required_actions.push_back("required_action"); | 405 std::vector<RequiredAction> required_actions; |
| 406 required_actions.push_back(SETUP_WALLET); |
| 407 required_actions.push_back(ACCEPT_TOS); |
| 408 required_actions.push_back(GAIA_AUTH); |
| 409 required_actions.push_back(INVALID_FORM_FIELD); |
| 410 |
| 390 WalletItems expected(required_actions, "google_transaction_id", "", ""); | 411 WalletItems expected(required_actions, "google_transaction_id", "", ""); |
| 391 ASSERT_EQ(expected, *WalletItems::CreateWalletItems(*dict)); | 412 ASSERT_EQ(expected, *WalletItems::CreateWalletItems(*dict)); |
| 413 |
| 414 DCHECK(!required_actions.empty()); |
| 415 required_actions.pop_back(); |
| 416 WalletItems different_required_actions( |
| 417 required_actions, "google_transaction_id", "", ""); |
| 418 ASSERT_NE(expected, different_required_actions); |
| 419 } |
| 420 |
| 421 TEST_F(WalletItemsTest, CreateWalletItemsWithInvalidRequiredActions) { |
| 422 SetUpDictionary(kWalletItemsWithInvalidRequiredActions); |
| 423 ASSERT_EQ(NULL, WalletItems::CreateWalletItems(*dict).get()); |
| 392 } | 424 } |
| 393 | 425 |
| 394 TEST_F(WalletItemsTest, CreateWalletItems) { | 426 TEST_F(WalletItemsTest, CreateWalletItems) { |
| 395 SetUpDictionary(kWalletItems); | 427 SetUpDictionary(kWalletItems); |
| 396 std::vector<std::string> required_actions; | 428 std::vector<RequiredAction> required_actions; |
| 397 WalletItems expected(required_actions, | 429 WalletItems expected(required_actions, |
| 398 "google_transaction_id", | 430 "google_transaction_id", |
| 399 "default_instrument_id", | 431 "default_instrument_id", |
| 400 "default_address_id"); | 432 "default_address_id"); |
| 401 | 433 |
| 402 scoped_ptr<Address> billing_address(new Address("country_code", | 434 scoped_ptr<Address> billing_address(new Address("country_code", |
| 403 "name", | 435 "name", |
| 404 "address1", | 436 "address1", |
| 405 "address2", | 437 "address2", |
| 406 "city", | 438 "city", |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 new WalletItems::LegalDocument("doc_id", | 470 new WalletItems::LegalDocument("doc_id", |
| 439 "display_name", | 471 "display_name", |
| 440 "doc_body")); | 472 "doc_body")); |
| 441 expected.AddLegalDocument(legal_document.Pass()); | 473 expected.AddLegalDocument(legal_document.Pass()); |
| 442 | 474 |
| 443 ASSERT_EQ(expected, *WalletItems::CreateWalletItems(*dict)); | 475 ASSERT_EQ(expected, *WalletItems::CreateWalletItems(*dict)); |
| 444 } | 476 } |
| 445 | 477 |
| 446 } // namespace wallet | 478 } // namespace wallet |
| 447 | 479 |
| OLD | NEW |