1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/content/browser/wallet/wallet_test_util.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string> 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <vector> 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string16.h" 117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "base/strings/string_number_conversions.h" 12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/values.h" 14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/content/browser/wallet/full_wallet.h" 15a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "components/autofill/content/browser/wallet/gaia_account.h" 16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/content/browser/wallet/instrument.h" 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/content/browser/wallet/required_action.h" 18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/content/browser/wallet/wallet_address.h" 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)using base::ASCIIToUTF16; 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace autofill { 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace wallet { 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace { 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)int FutureYear() { 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // "In the Year 3000." - Richie "LaBamba" Rosenberg 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return 3000; 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} // namespace 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)scoped_ptr<WalletItems::MaskedInstrument> GetTestMaskedInstrumentWithDetails( 3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const std::string& id, 3690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) scoped_ptr<Address> address, 3790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WalletItems::MaskedInstrument::Type type, 3890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WalletItems::MaskedInstrument::Status status) { 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return make_scoped_ptr( 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) new WalletItems::MaskedInstrument(ASCIIToUTF16("descriptive_name"), 4190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) type, 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ASCIIToUTF16("1111"), 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 12, 44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) FutureYear(), 4590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) address.Pass(), 4690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) status, 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) id)); 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)scoped_ptr<WalletItems::MaskedInstrument> GetTestMaskedInstrumentWithId( 5190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const std::string& id) { 5290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return GetTestMaskedInstrumentWithDetails( 5390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) id, 5490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) GetTestAddress(), 5590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WalletItems::MaskedInstrument::VISA, 5690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WalletItems::MaskedInstrument::VALID); 5790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 5890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 5990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)scoped_ptr<WalletItems::MaskedInstrument> 6090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)GetTestMaskedInstrumentWithIdAndAddress( 6190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const std::string& id, scoped_ptr<Address> address) { 6290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return GetTestMaskedInstrumentWithDetails( 6390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) id, 6490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) address.Pass(), 6590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WalletItems::MaskedInstrument::VISA, 6690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WalletItems::MaskedInstrument::VALID); 6790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 6890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 69a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)scoped_ptr<GaiaAccount> GetTestGaiaAccount() { 705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return GaiaAccount::CreateForTesting("user@chromium.org", 715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) "obfuscated_id", 725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 0, 735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) true); 745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)std::vector<base::string16> StreetAddress(const std::string& line1, 775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::string& line2) { 785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) std::vector<base::string16> street_address; 795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) street_address.push_back(ASCIIToUTF16(line1)); 805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) street_address.push_back(ASCIIToUTF16(line2)); 815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return street_address; 82a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)} 83a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)scoped_ptr<Address> GetTestAddress() { 855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return make_scoped_ptr( 865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) new Address("US", 875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("recipient_name"), 885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) StreetAddress("address_line_1", "address_line_2"), 895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("locality_name"), 905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("dependent_locality_name"), 915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("admin_area_name"), 925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("postal_code_number"), 935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("sorting_code"), 945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("phone_number"), 95a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch std::string(), 96a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch "language_code")); 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)scoped_ptr<Address> GetTestMinimalAddress() { 10090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) scoped_ptr<Address> address = GetTestAddress(); 10190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) address->set_is_complete_address(false); 10290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return address.Pass(); 10390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 10490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 105c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)scoped_ptr<FullWallet> GetTestFullWallet() { 1068bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) return GetTestFullWalletWithRequiredActions(std::vector<RequiredAction>()); 1078bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)} 1088bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 1098bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)scoped_ptr<FullWallet> GetTestFullWalletWithRequiredActions( 1108bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) const std::vector<RequiredAction>& actions) { 1117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch scoped_ptr<FullWallet> wallet(new FullWallet(FutureYear(), 112c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 12, 1137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch "528512", 1147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch "5ec4feecf9d6", 115c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) GetTestAddress(), 116c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) GetTestShippingAddress(), 1178bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) actions)); 118a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) std::vector<uint8> one_time_pad; 119a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) base::HexStringToBytes("5F04A8704183", &one_time_pad); 120a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) wallet->set_one_time_pad(one_time_pad); 121a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) return wallet.Pass(); 122a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)} 123a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 124a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)scoped_ptr<FullWallet> GetTestFullWalletInstrumentOnly() { 125a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) scoped_ptr<FullWallet> wallet(new FullWallet(FutureYear(), 126a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 12, 127a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) "528512", 128a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) "5ec4feecf9d6", 129a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) GetTestAddress(), 130a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) scoped_ptr<Address>(), 131a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) std::vector<RequiredAction>())); 1327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch std::vector<uint8> one_time_pad; 1337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch base::HexStringToBytes("5F04A8704183", &one_time_pad); 1347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch wallet->set_one_time_pad(one_time_pad); 1357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return wallet.Pass(); 136c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 137c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)scoped_ptr<Instrument> GetTestInstrument() { 1395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return make_scoped_ptr(new Instrument(ASCIIToUTF16("4444444444444448"), 1405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("123"), 1415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 12, 1425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) FutureYear(), 1435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) Instrument::VISA, 1445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) GetTestAddress())); 1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 147ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochscoped_ptr<Instrument> GetTestAddressUpgradeInstrument() { 1485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return make_scoped_ptr(new Instrument(base::string16(), 1495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) base::string16(), 1505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 12, 1515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) FutureYear(), 1525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) Instrument::UNKNOWN, 1535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) GetTestAddress())); 154ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch} 155ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 156ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochscoped_ptr<Instrument> GetTestExpirationDateChangeInstrument() { 1575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return make_scoped_ptr(new Instrument(base::string16(), 1585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("123"), 1595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 12, 1605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) FutureYear() + 1, 1615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) Instrument::UNKNOWN, 1625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) scoped_ptr<Address>())); 163ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch} 164ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 165ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochscoped_ptr<Instrument> GetTestAddressNameChangeInstrument() { 1665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return make_scoped_ptr(new Instrument(base::string16(), 1675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("123"), 1685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 12, 1695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) FutureYear(), 1705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) Instrument::UNKNOWN, 1715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) GetTestAddress())); 172ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch} 173ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)scoped_ptr<WalletItems::LegalDocument> GetTestLegalDocument() { 1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::DictionaryValue dict; 1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) dict.SetString("legal_document_id", "document_id"); 1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) dict.SetString("display_name", "display_name"); 1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return wallet::WalletItems::LegalDocument::CreateLegalDocument(dict); 1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 1802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)scoped_ptr<WalletItems::MaskedInstrument> GetTestMaskedInstrument() { 182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return GetTestMaskedInstrumentWithId("default_instrument_id"); 183c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 185868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)scoped_ptr<WalletItems::MaskedInstrument> GetTestMaskedInstrumentExpired() { 186868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) return GetTestMaskedInstrumentWithDetails( 187868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) "default_instrument_id", 188868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) GetTestAddress(), 189868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) WalletItems::MaskedInstrument::VISA, 190868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) WalletItems::MaskedInstrument::EXPIRED); 191868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 192868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 19390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)scoped_ptr<WalletItems::MaskedInstrument> GetTestMaskedInstrumentInvalid() { 19490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return GetTestMaskedInstrumentWithDetails( 19590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) "default_instrument_id", 19690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) GetTestAddress(), 19790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WalletItems::MaskedInstrument::VISA, 19890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WalletItems::MaskedInstrument::DECLINED); 19990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 20090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 20168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)scoped_ptr<WalletItems::MaskedInstrument> GetTestMaskedInstrumentAmex( 20268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) AmexPermission amex_permission) { 20390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return GetTestMaskedInstrumentWithDetails( 20490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) "default_instrument_id", 20590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) GetTestAddress(), 20690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WalletItems::MaskedInstrument::AMEX, 2075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) amex_permission == AMEX_ALLOWED ? 2085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) WalletItems::MaskedInstrument::VALID : 2095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) WalletItems::MaskedInstrument::AMEX_NOT_SUPPORTED); 21090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 21190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 212c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)scoped_ptr<WalletItems::MaskedInstrument> GetTestNonDefaultMaskedInstrument() { 213c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return GetTestMaskedInstrumentWithId("instrument_id"); 2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)scoped_ptr<Address> GetTestSaveableAddress() { 2175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return make_scoped_ptr( 2185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) new Address("US", 2195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("save_recipient_name"), 2205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) StreetAddress("save_address_line_1", "save_address_line_2"), 2215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("save_locality_name"), 2225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("save_dependent_locality_name"), 2235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("save_admin_area_name"), 2245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("save_postal_code_number"), 2255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("save_sorting_code"), 2265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("save_phone_number"), 227a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch std::string(), 228a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch "save_language_code")); 2292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 2302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)scoped_ptr<Address> GetTestShippingAddress() { 2325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return make_scoped_ptr( 2335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) new Address("US", 2345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("ship_recipient_name"), 2355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) StreetAddress("ship_address_line_1", "ship_address_line_2"), 2365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("ship_locality_name"), 2375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("ship_dependent_locality_name"), 2385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("ship_admin_area_name"), 2395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("ship_postal_code_number"), 2405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("ship_sorting_code"), 2415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASCIIToUTF16("ship_phone_number"), 242a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch "default_address_id", 243a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch "ship_language_code")); 244c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 245c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 246c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)scoped_ptr<Address> GetTestNonDefaultShippingAddress() { 247c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) scoped_ptr<Address> address = GetTestShippingAddress(); 248c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) address->set_object_id("address_id"); 249c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return address.Pass(); 2502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 2512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)scoped_ptr<WalletItems> GetTestWalletItemsWithDetails( 2530f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) const std::vector<RequiredAction>& required_actions, 2540f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) const std::string& default_instrument_id, 2550f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) const std::string& default_address_id, 256a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) AmexPermission amex_permission) { 2575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return make_scoped_ptr(new wallet::WalletItems(required_actions, 2585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) "google_transaction_id", 2595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) default_instrument_id, 2605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) default_address_id, 2615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) amex_permission)); 2620f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)} 2630f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) 2640f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)scoped_ptr<WalletItems> GetTestWalletItemsWithRequiredAction( 2650f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) RequiredAction action) { 266f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) std::vector<RequiredAction> required_actions(1, action); 267a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) scoped_ptr<WalletItems> items = 2685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) GetTestWalletItemsWithDetails(required_actions, 2695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) "default_instrument_id", 2705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) "default_address_id", 2715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) AMEX_ALLOWED); 272a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 273f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) if (action != GAIA_AUTH) 274a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) items->AddAccount(GetTestGaiaAccount()); 275a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 276a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) return items.Pass(); 2770f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)} 2780f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) 27968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)scoped_ptr<WalletItems> GetTestWalletItems(AmexPermission amex_permission) { 28058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) return GetTestWalletItemsWithDefaultIds("default_instrument_id", 28168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) "default_address_id", 28268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) amex_permission); 28358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 28458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 285f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)scoped_ptr<WalletItems> GetTestWalletItemsWithUsers( 286a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) const std::vector<std::string>& users, size_t active_index) { 287a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) scoped_ptr<WalletItems> items = 2885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) GetTestWalletItemsWithDetails(std::vector<RequiredAction>(), 2895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) "default_instrument_id", 2905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) "default_address_id", 2915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) AMEX_ALLOWED); 292a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) for (size_t i = 0; i < users.size(); ++i) { 293a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) scoped_ptr<GaiaAccount> account(GaiaAccount::CreateForTesting( 294a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) users[i], "obfuscated_id", i, i == active_index)); 295a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) items->AddAccount(account.Pass()); 296a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) } 297a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) return items.Pass(); 298f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 299f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 30058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)scoped_ptr<WalletItems> GetTestWalletItemsWithDefaultIds( 30158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) const std::string& default_instrument_id, 30268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) const std::string& default_address_id, 30368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) AmexPermission amex_permission) { 304a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) scoped_ptr<WalletItems> items = 3055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) GetTestWalletItemsWithDetails(std::vector<RequiredAction>(), 3065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) default_instrument_id, 3075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) default_address_id, 3085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) amex_permission); 309a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) items->AddAccount(GetTestGaiaAccount()); 310a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) return items.Pass(); 3112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 3122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace wallet 3142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace autofill 315