// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Tests for PaymentRequest::OnPaymentResponse(). #include <utility> #include "base/memory/raw_ptr_exclusion.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/blink/public/mojom/frame/user_activation_notification_type.mojom-blink.h" #include "third_party/blink/renderer/bindings/core/v8/script_function.h" #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_payment_response.h" #include "third_party/blink/renderer/core/frame/local_frame.h" #include "third_party/blink/renderer/core/testing/mock_function_scope.h" #include "third_party/blink/renderer/modules/payments/payment_address.h" #include "third_party/blink/renderer/modules/payments/payment_request.h" #include "third_party/blink/renderer/modules/payments/payment_response.h" #include "third_party/blink/renderer/modules/payments/payment_test_helper.h" #include "third_party/blink/renderer/platform/testing/task_environment.h" namespace blink { namespace { // If the merchant requests shipping information, but the browser does not // provide the shipping option, reject the show() promise. TEST(OnPaymentResponseTest, RejectMissingShippingOption) { … } // If the merchant requests shipping information, but the browser does not // provide a shipping address, reject the show() promise. TEST(OnPaymentResponseTest, RejectMissingAddress) { … } // If the merchant requests a payer name, but the browser does not provide it, // reject the show() promise. TEST(OnPaymentResponseTest, RejectMissingName) { … } // If the merchant requests an email address, but the browser does not provide // it, reject the show() promise. TEST(OnPaymentResponseTest, RejectMissingEmail) { … } // If the merchant requests a phone number, but the browser does not provide it, // reject the show() promise. TEST(OnPaymentResponseTest, RejectMissingPhone) { … } // If the merchant requests shipping information, but the browser provides an // empty string for shipping option, reject the show() promise. TEST(OnPaymentResponseTest, RejectEmptyShippingOption) { … } // If the merchant requests shipping information, but the browser provides an // empty shipping address, reject the show() promise. TEST(OnPaymentResponseTest, RejectEmptyAddress) { … } // If the merchant requests a payer name, but the browser provides an empty // string for name, reject the show() promise. TEST(OnPaymentResponseTest, RejectEmptyName) { … } // If the merchant requests an email, but the browser provides an empty string // for email, reject the show() promise. TEST(OnPaymentResponseTest, RejectEmptyEmail) { … } // If the merchant requests a phone number, but the browser provides an empty // string for the phone number, reject the show() promise. TEST(OnPaymentResponseTest, RejectEmptyPhone) { … } // If the merchant does not request shipping information, but the browser // provides a shipping address, reject the show() promise. TEST(OnPaymentResponseTest, RejectNotRequestedAddress) { … } // If the merchant does not request shipping information, but the browser // provides a shipping option, reject the show() promise. TEST(OnPaymentResponseTest, RejectNotRequestedShippingOption) { … } // If the merchant does not request a payer name, but the browser provides it, // reject the show() promise. TEST(OnPaymentResponseTest, RejectNotRequestedName) { … } // If the merchant does not request an email, but the browser provides it, // reject the show() promise. TEST(OnPaymentResponseTest, RejectNotRequestedEmail) { … } // If the merchant does not request a phone number, but the browser provides it, // reject the show() promise. TEST(OnPaymentResponseTest, RejectNotRequestedPhone) { … } // If the merchant requests shipping information, but the browser provides an // invalid shipping address, reject the show() promise. TEST(OnPaymentResponseTest, RejectInvalidAddress) { … } class PaymentResponseFunction : public ScriptFunction::Callable { … }; // If the merchant requests shipping information, the resolved show() promise // should contain a shipping option and an address. TEST(OnPaymentResponseTest, CanRequestShippingInformation) { … } // If the merchant requests a payer name, the resolved show() promise should // contain a payer name. TEST(OnPaymentResponseTest, CanRequestName) { … } // If the merchant requests an email address, the resolved show() promise should // contain an email address. TEST(OnPaymentResponseTest, CanRequestEmail) { … } // If the merchant requests a phone number, the resolved show() promise should // contain a phone number. TEST(OnPaymentResponseTest, CanRequestPhone) { … } // If the merchant does not request shipping information, the resolved show() // promise should contain null shipping option and address. TEST(OnPaymentResponseTest, ShippingInformationNotRequired) { … } // If the merchant does not request a phone number, the resolved show() promise // should contain null phone number. TEST(OnPaymentResponseTest, PhoneNotRequired) { … } // If the merchant does not request a payer name, the resolved show() promise // should contain null payer name. TEST(OnPaymentResponseTest, NameNotRequired) { … } // If the merchant does not request an email address, the resolved show() // promise should contain null email address. TEST(OnPaymentResponseTest, EmailNotRequired) { … } } // namespace } // namespace blink