// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "components/autofill/browser/wallet/wallet_test_util.h" #include #include #include "base/string16.h" #include "base/time.h" #include "base/utf_string_conversions.h" #include "base/values.h" #include "components/autofill/browser/wallet/full_wallet.h" #include "components/autofill/browser/wallet/instrument.h" #include "components/autofill/browser/wallet/required_action.h" #include "components/autofill/browser/wallet/wallet_address.h" namespace autofill { namespace wallet { namespace { int FutureYear() { // "In the Year 3000." - Richie "LaBamba" Rosenberg return 3000; } } // namespace scoped_ptr GetTestMaskedInstrumentWithDetails( const std::string& id, scoped_ptr
address, WalletItems::MaskedInstrument::Type type, WalletItems::MaskedInstrument::Status status) { return scoped_ptr( new WalletItems::MaskedInstrument(ASCIIToUTF16("descriptive_name"), type, std::vector(), ASCIIToUTF16("1111"), 12, FutureYear(), address.Pass(), status, id)); } scoped_ptr GetTestMaskedInstrumentWithId( const std::string& id) { return GetTestMaskedInstrumentWithDetails( id, GetTestAddress(), WalletItems::MaskedInstrument::VISA, WalletItems::MaskedInstrument::VALID); } scoped_ptr GetTestMaskedInstrumentWithIdAndAddress( const std::string& id, scoped_ptr
address) { return GetTestMaskedInstrumentWithDetails( id, address.Pass(), WalletItems::MaskedInstrument::VISA, WalletItems::MaskedInstrument::VALID); } scoped_ptr
GetTestAddress() { return scoped_ptr
(new Address("US", ASCIIToUTF16("recipient_name"), ASCIIToUTF16("address_line_1"), ASCIIToUTF16("address_line_2"), ASCIIToUTF16("locality_name"), ASCIIToUTF16("admin_area_name"), ASCIIToUTF16("postal_code_number"), ASCIIToUTF16("phone_number"), std::string())); } scoped_ptr
GetTestMinimalAddress() { scoped_ptr
address = GetTestAddress(); address->set_is_complete_address(false); return address.Pass(); } scoped_ptr GetTestFullWallet() { base::Time::Exploded exploded; base::Time::Now().LocalExplode(&exploded); return scoped_ptr(new FullWallet(FutureYear(), 12, "iin", "rest", GetTestAddress(), GetTestShippingAddress(), std::vector())); } scoped_ptr GetTestInstrument() { return scoped_ptr(new Instrument(ASCIIToUTF16("4444444444444448"), ASCIIToUTF16("123"), 12, FutureYear(), Instrument::VISA, GetTestAddress())); } scoped_ptr GetTestLegalDocument() { base::DictionaryValue dict; dict.SetString("legal_document_id", "document_id"); dict.SetString("display_name", "display_name"); return wallet::WalletItems::LegalDocument::CreateLegalDocument(dict); } scoped_ptr GetTestMaskedInstrument() { return GetTestMaskedInstrumentWithId("default_instrument_id"); } scoped_ptr GetTestMaskedInstrumentInvalid() { return GetTestMaskedInstrumentWithDetails( "default_instrument_id", GetTestAddress(), WalletItems::MaskedInstrument::VISA, WalletItems::MaskedInstrument::DECLINED); } scoped_ptr GetTestMaskedInstrumentAmex() { return GetTestMaskedInstrumentWithDetails( "default_instrument_id", GetTestAddress(), WalletItems::MaskedInstrument::AMEX, // Amex cards are marked with status AMEX_NOT_SUPPORTED by the server. WalletItems::MaskedInstrument::AMEX_NOT_SUPPORTED); } scoped_ptr GetTestNonDefaultMaskedInstrument() { return GetTestMaskedInstrumentWithId("instrument_id"); } scoped_ptr
GetTestSaveableAddress() { return scoped_ptr
(new Address( "US", ASCIIToUTF16("save_recipient_name"), ASCIIToUTF16("save_address_line_1"), ASCIIToUTF16("save_address_line_2"), ASCIIToUTF16("save_locality_name"), ASCIIToUTF16("save_admin_area_name"), ASCIIToUTF16("save_postal_code_number"), ASCIIToUTF16("save_phone_number"), std::string())); } scoped_ptr
GetTestShippingAddress() { return scoped_ptr
(new Address( "US", ASCIIToUTF16("ship_recipient_name"), ASCIIToUTF16("ship_address_line_1"), ASCIIToUTF16("ship_address_line_2"), ASCIIToUTF16("ship_locality_name"), ASCIIToUTF16("ship_admin_area_name"), ASCIIToUTF16("ship_postal_code_number"), ASCIIToUTF16("ship_phone_number"), "default_address_id")); } scoped_ptr
GetTestNonDefaultShippingAddress() { scoped_ptr
address = GetTestShippingAddress(); address->set_object_id("address_id"); return address.Pass(); } scoped_ptr GetTestWalletItems() { return scoped_ptr( new wallet::WalletItems(std::vector(), "google_transaction_id", "default_instrument_id", "default_address_id", "obfuscated_gaia_id")); } } // namespace wallet } // namespace autofill