| Index: components/payments/content/payment_request_state_unittest.cc
|
| diff --git a/components/payments/content/payment_request_state_unittest.cc b/components/payments/content/payment_request_state_unittest.cc
|
| index 3f1ac1166e406cd7aca68d9550fc7ba823e45604..814206cbdcdb0d54685e3d183ff361fd968ec200 100644
|
| --- a/components/payments/content/payment_request_state_unittest.cc
|
| +++ b/components/payments/content/payment_request_state_unittest.cc
|
| @@ -340,4 +340,74 @@ TEST_F(PaymentRequestStateTest, GeneratePaymentResponse_BasicCard) {
|
| response()->stringified_details);
|
| }
|
|
|
| +// Tests the the generated PaymentResponse has the correct values for the
|
| +// shipping address.
|
| +TEST_F(PaymentRequestStateTest, GeneratePaymentResponse_ShippingAddress) {
|
| + // Setup so that a shipping address is requested.
|
| + std::vector<mojom::PaymentShippingOptionPtr> shipping_options;
|
| + mojom::PaymentShippingOptionPtr option = mojom::PaymentShippingOption::New();
|
| + option->id = "option:1";
|
| + option->selected = true;
|
| + shipping_options.push_back(std::move(option));
|
| + mojom::PaymentDetailsPtr details = mojom::PaymentDetails::New();
|
| + details->shipping_options = std::move(shipping_options);
|
| + mojom::PaymentOptionsPtr options = mojom::PaymentOptions::New();
|
| + options->request_shipping = true;
|
| + RecreateStateWithOptionsAndDetails(std::move(options), std::move(details),
|
| + GetMethodDataForVisa());
|
| +
|
| + EXPECT_TRUE(state()->is_ready_to_pay());
|
| + state()->GeneratePaymentResponse();
|
| +
|
| + // Check that all the expected values were set.
|
| + EXPECT_EQ("US", response()->shipping_address->country);
|
| + EXPECT_EQ("666 Erebus St.", response()->shipping_address->address_line[0]);
|
| + EXPECT_EQ("Apt 8", response()->shipping_address->address_line[1]);
|
| + EXPECT_EQ("CA", response()->shipping_address->region);
|
| + EXPECT_EQ("Elysium", response()->shipping_address->city);
|
| + EXPECT_EQ("", response()->shipping_address->dependent_locality);
|
| + EXPECT_EQ("91111", response()->shipping_address->postal_code);
|
| + EXPECT_EQ("", response()->shipping_address->sorting_code);
|
| + EXPECT_EQ("", response()->shipping_address->language_code);
|
| + EXPECT_EQ("Underworld", response()->shipping_address->organization);
|
| + EXPECT_EQ("John H. Doe", response()->shipping_address->recipient);
|
| + EXPECT_EQ("16502111111", response()->shipping_address->phone);
|
| +}
|
| +
|
| +// Tests the the generated PaymentResponse has the correct values for the
|
| +// contact details when all values are requested.
|
| +TEST_F(PaymentRequestStateTest, GeneratePaymentResponse_ContactDetails_All) {
|
| + // Request all contact detail values.
|
| + mojom::PaymentOptionsPtr options = mojom::PaymentOptions::New();
|
| + options->request_payer_name = true;
|
| + options->request_payer_phone = true;
|
| + options->request_payer_email = true;
|
| + RecreateStateWithOptions(std::move(options));
|
| +
|
| + EXPECT_TRUE(state()->is_ready_to_pay());
|
| + state()->GeneratePaymentResponse();
|
| +
|
| + // Check that all the expected values were set.
|
| + EXPECT_EQ("John H. Doe", response()->payer_name.value());
|
| + EXPECT_EQ("16502111111", response()->payer_phone.value());
|
| + EXPECT_EQ("johndoe@hades.com", response()->payer_email.value());
|
| +}
|
| +
|
| +// Tests the the generated PaymentResponse has the correct values for the
|
| +// contact details when all values are requested.
|
| +TEST_F(PaymentRequestStateTest, GeneratePaymentResponse_ContactDetails_Some) {
|
| + // Request one contact detail value.
|
| + mojom::PaymentOptionsPtr options = mojom::PaymentOptions::New();
|
| + options->request_payer_name = true;
|
| + RecreateStateWithOptions(std::move(options));
|
| +
|
| + EXPECT_TRUE(state()->is_ready_to_pay());
|
| + state()->GeneratePaymentResponse();
|
| +
|
| + // Check that the name was set, but not the other values.
|
| + EXPECT_EQ("John H. Doe", response()->payer_name.value());
|
| + EXPECT_FALSE(response()->payer_phone.has_value());
|
| + EXPECT_FALSE(response()->payer_email.has_value());
|
| +}
|
| +
|
| } // namespace payments
|
|
|