Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Unified Diff: components/autofill/content/browser/wallet/wallet_client_unittest.cc

Issue 20420002: Make Wallet respect whether or not shipping address is required. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Wallet client respects delegates shipping preference. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/content/browser/wallet/wallet_client_unittest.cc
diff --git a/components/autofill/content/browser/wallet/wallet_client_unittest.cc b/components/autofill/content/browser/wallet/wallet_client_unittest.cc
index 9360b950391c228adc419a00837ab0dde5d0686c..86455e0ec750d5cec636a058fab9c94c472558d7 100644
--- a/components/autofill/content/browser/wallet/wallet_client_unittest.cc
+++ b/components/autofill/content/browser/wallet/wallet_client_unittest.cc
@@ -317,12 +317,14 @@ const char kGetFullWalletValidRequest[] =
"\"feature\":\"REQUEST_AUTOCOMPLETE\","
"\"google_transaction_id\":\"google_transaction_id\","
"\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
"\"risk_params\":\"risky business\","
"\"selected_address_id\":\"shipping_address_id\","
"\"selected_instrument_id\":\"instrument_id\","
"\"supported_risk_challenge\":"
"["
- "]"
+ "],"
+ "\"use_minimal_addresses\":false"
"}";
const char kGetFullWalletWithRiskCapabilitesValidRequest[] =
@@ -330,23 +332,37 @@ const char kGetFullWalletWithRiskCapabilitesValidRequest[] =
"\"feature\":\"REQUEST_AUTOCOMPLETE\","
"\"google_transaction_id\":\"google_transaction_id\","
"\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
"\"risk_params\":\"risky business\","
"\"selected_address_id\":\"shipping_address_id\","
"\"selected_instrument_id\":\"instrument_id\","
"\"supported_risk_challenge\":"
"["
"\"VERIFY_CVC\""
- "]"
+ "],"
+ "\"use_minimal_addresses\":false"
"}";
const char kGetWalletItemsValidRequest[] =
"{"
- "\"merchant_domain\":\"https://example.com/\""
+ "\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
+ "\"shipping_address_required\":true,"
+ "\"use_minimal_addresses\":false"
+ "}";
+
+const char kGetWalletItemsNoShippingRequest[] =
+ "{"
+ "\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
+ "\"shipping_address_required\":false,"
+ "\"use_minimal_addresses\":false"
"}";
const char kSaveAddressValidRequest[] =
"{"
"\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
"\"risk_params\":\"risky business\","
"\"shipping_address\":"
"{"
@@ -364,7 +380,8 @@ const char kSaveAddressValidRequest[] =
"\"postal_code_number\":\"save_postal_code_number\","
"\"recipient_name\":\"save_recipient_name\""
"}"
- "}"
+ "},"
+ "\"use_minimal_addresses\":false"
"}";
const char kSaveInstrumentValidRequest[] =
@@ -395,7 +412,9 @@ const char kSaveInstrumentValidRequest[] =
"},"
"\"instrument_phone_number\":\"phone_number\","
"\"merchant_domain\":\"https://example.com/\","
- "\"risk_params\":\"risky business\""
+ "\"phone_number_required\":true,"
+ "\"risk_params\":\"risky business\","
+ "\"use_minimal_addresses\":false"
"}";
const char kSaveInstrumentAndAddressValidRequest[] =
@@ -426,6 +445,7 @@ const char kSaveInstrumentAndAddressValidRequest[] =
"},"
"\"instrument_phone_number\":\"phone_number\","
"\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
"\"risk_params\":\"risky business\","
"\"shipping_address\":"
"{"
@@ -443,7 +463,8 @@ const char kSaveInstrumentAndAddressValidRequest[] =
"\"postal_code_number\":\"save_postal_code_number\","
"\"recipient_name\":\"save_recipient_name\""
"}"
- "}"
+ "},"
+ "\"use_minimal_addresses\":false"
"}";
const char kSendAutocheckoutStatusOfSuccessValidRequest[] =
@@ -473,6 +494,7 @@ const char kSendAutocheckoutStatusOfFailureValidRequest[] =
const char kUpdateAddressValidRequest[] =
"{"
"\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
"\"risk_params\":\"risky business\","
"\"shipping_address\":"
"{"
@@ -491,13 +513,15 @@ const char kUpdateAddressValidRequest[] =
"\"postal_code_number\":\"ship_postal_code_number\","
"\"recipient_name\":\"ship_recipient_name\""
"}"
- "}"
+ "},"
+ "\"use_minimal_addresses\":false"
"}";
const char kUpdateInstrumentAddressValidRequest[] =
"{"
"\"instrument_phone_number\":\"phone_number\","
"\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
"\"risk_params\":\"risky business\","
"\"upgraded_billing_address\":"
"{"
@@ -512,13 +536,15 @@ const char kUpdateInstrumentAddressValidRequest[] =
"\"postal_code_number\":\"postal_code_number\","
"\"recipient_name\":\"recipient_name\""
"},"
- "\"upgraded_instrument_id\":\"instrument_id\""
+ "\"upgraded_instrument_id\":\"instrument_id\","
+ "\"use_minimal_addresses\":false"
"}";
const char kUpdateInstrumentAddressWithNameChangeValidRequest[] =
"{"
"\"instrument_phone_number\":\"phone_number\","
"\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
"\"risk_params\":\"risky business\","
"\"upgraded_billing_address\":"
"{"
@@ -533,7 +559,8 @@ const char kUpdateInstrumentAddressWithNameChangeValidRequest[] =
"\"postal_code_number\":\"postal_code_number\","
"\"recipient_name\":\"recipient_name\""
"},"
- "\"upgraded_instrument_id\":\"instrument_id\""
+ "\"upgraded_instrument_id\":\"instrument_id\","
+ "\"use_minimal_addresses\":false"
"}";
const char kUpdateInstrumentExpirationDateValidRequest[] =
@@ -548,8 +575,10 @@ const char kUpdateInstrumentExpirationDateValidRequest[] =
"\"type\":\"CREDIT_CARD\""
"},"
"\"merchant_domain\":\"https://example.com/\","
+ "\"phone_number_required\":true,"
"\"risk_params\":\"risky business\","
- "\"upgraded_instrument_id\":\"instrument_id\""
+ "\"upgraded_instrument_id\":\"instrument_id\","
+ "\"use_minimal_addresses\":false"
"}";
class MockAutofillMetrics : public AutofillMetrics {
@@ -570,7 +599,9 @@ class MockAutofillMetrics : public AutofillMetrics {
class MockWalletClientDelegate : public WalletClientDelegate {
public:
MockWalletClientDelegate()
- : full_wallets_received_(0), wallet_items_received_(0) {}
+ : full_wallets_received_(0),
+ wallet_items_received_(0),
+ is_shipping_required_(true) {}
~MockWalletClientDelegate() {}
virtual const AutofillMetrics& GetMetricLogger() const OVERRIDE {
@@ -589,6 +620,14 @@ class MockWalletClientDelegate : public WalletClientDelegate {
return "gdToken";
}
+ virtual bool IsShippingAddressRequired() const OVERRIDE {
+ return is_shipping_required_;
+ }
+
+ void SetIsShippingAddressRequired(bool is_shipping_required) {
+ is_shipping_required_ = is_shipping_required;
+ }
+
void ExpectLogWalletApiCallDuration(
AutofillMetrics::WalletApiCallMetric metric,
size_t times) {
@@ -650,6 +689,7 @@ class MockWalletClientDelegate : public WalletClientDelegate {
private:
size_t full_wallets_received_;
size_t wallet_items_received_;
+ bool is_shipping_required_;
testing::StrictMock<MockAutofillMetrics> metric_logger_;
};
@@ -1009,6 +1049,20 @@ TEST_F(WalletClientTest, GetWalletItems) {
EXPECT_EQ(1U, delegate_.wallet_items_received());
}
+TEST_F(WalletClientTest, GetWalletItemsRespectsDelegateForShippingRequired) {
+ delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::GET_WALLET_ITEMS,
+ 1);
+ delegate_.ExpectBaselineMetrics();
+ delegate_.SetIsShippingAddressRequired(false);
+
+ wallet_client_->GetWalletItems(GURL(kMerchantUrl));
+
+ VerifyAndFinishRequest(net::HTTP_OK,
+ kGetWalletItemsNoShippingRequest,
+ kGetWalletItemsValidResponse);
+ EXPECT_EQ(1U, delegate_.wallet_items_received());
+}
+
TEST_F(WalletClientTest, SaveAddressSucceeded) {
EXPECT_CALL(delegate_,
OnDidSaveToWallet(std::string(),

Powered by Google App Engine
This is Rietveld 408576698