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

Side by Side Diff: third_party/WebKit/Source/modules/payments/ActivePaymentTest.cpp

Issue 2545523004: Rename canMakeActivePayment to canMakePayment (Closed)
Patch Set: Rebase Created 4 years 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Tests for PaymentRequest::canMakeActivePayment().
6
7 #include "bindings/core/v8/V8BindingForTesting.h"
8 #include "modules/payments/PaymentRequest.h"
9 #include "modules/payments/PaymentTestHelper.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 namespace blink {
13 namespace {
14
15 using payments::mojom::blink::ActivePaymentQueryResult;
16 using payments::mojom::blink::PaymentErrorReason;
17 using payments::mojom::blink::PaymentRequestClient;
18
19 TEST(ActivePaymentTest, RejectPromiseOnUserCancel) {
20 V8TestingScope scope;
21 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
22 makePaymentRequestOriginSecure(scope.document());
23 PaymentRequest* request = PaymentRequest::create(
24 scope.document(), buildPaymentMethodDataForTest(),
25 buildPaymentDetailsForTest(), scope.getExceptionState());
26
27 request->canMakeActivePayment(scope.getScriptState())
28 .then(funcs.expectNoCall(), funcs.expectCall());
29
30 static_cast<PaymentRequestClient*>(request)->OnError(
31 PaymentErrorReason::USER_CANCEL);
32 }
33
34 TEST(ActivePaymentTest, RejectPromiseOnUnknownError) {
35 V8TestingScope scope;
36 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
37 makePaymentRequestOriginSecure(scope.document());
38 PaymentRequest* request = PaymentRequest::create(
39 scope.document(), buildPaymentMethodDataForTest(),
40 buildPaymentDetailsForTest(), scope.getExceptionState());
41
42 request->canMakeActivePayment(scope.getScriptState())
43 .then(funcs.expectNoCall(), funcs.expectCall());
44
45 static_cast<PaymentRequestClient*>(request)->OnError(
46 PaymentErrorReason::UNKNOWN);
47 }
48
49 TEST(ActivePaymentTest, RejectDuplicateRequest) {
50 V8TestingScope scope;
51 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
52 makePaymentRequestOriginSecure(scope.document());
53 PaymentRequest* request = PaymentRequest::create(
54 scope.document(), buildPaymentMethodDataForTest(),
55 buildPaymentDetailsForTest(), scope.getExceptionState());
56 request->canMakeActivePayment(scope.getScriptState());
57
58 request->canMakeActivePayment(scope.getScriptState())
59 .then(funcs.expectNoCall(), funcs.expectCall());
60 }
61
62 TEST(ActivePaymentTest, RejectQueryQuotaExceeded) {
63 V8TestingScope scope;
64 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
65 makePaymentRequestOriginSecure(scope.document());
66 PaymentRequest* request = PaymentRequest::create(
67 scope.document(), buildPaymentMethodDataForTest(),
68 buildPaymentDetailsForTest(), scope.getExceptionState());
69
70 request->canMakeActivePayment(scope.getScriptState())
71 .then(funcs.expectNoCall(), funcs.expectCall());
72
73 static_cast<PaymentRequestClient*>(request)->OnCanMakeActivePayment(
74 ActivePaymentQueryResult::QUERY_QUOTA_EXCEEDED);
75 }
76
77 TEST(ActivePaymentTest, ReturnCannotMakeActivePayment) {
78 V8TestingScope scope;
79 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
80 makePaymentRequestOriginSecure(scope.document());
81 PaymentRequest* request = PaymentRequest::create(
82 scope.document(), buildPaymentMethodDataForTest(),
83 buildPaymentDetailsForTest(), scope.getExceptionState());
84 String captor;
85 request->canMakeActivePayment(scope.getScriptState())
86 .then(funcs.expectCall(&captor), funcs.expectNoCall());
87
88 static_cast<PaymentRequestClient*>(request)->OnCanMakeActivePayment(
89 ActivePaymentQueryResult::CANNOT_MAKE_ACTIVE_PAYMENT);
90
91 v8::MicrotasksScope::PerformCheckpoint(scope.getScriptState()->isolate());
92 EXPECT_EQ("false", captor);
93 }
94
95 TEST(ActivePaymentTest, ReturnCanMakeActivePayment) {
96 V8TestingScope scope;
97 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
98 makePaymentRequestOriginSecure(scope.document());
99 PaymentRequest* request = PaymentRequest::create(
100 scope.document(), buildPaymentMethodDataForTest(),
101 buildPaymentDetailsForTest(), scope.getExceptionState());
102 String captor;
103 request->canMakeActivePayment(scope.getScriptState())
104 .then(funcs.expectCall(&captor), funcs.expectNoCall());
105
106 static_cast<PaymentRequestClient*>(request)->OnCanMakeActivePayment(
107 ActivePaymentQueryResult::CAN_MAKE_ACTIVE_PAYMENT);
108
109 v8::MicrotasksScope::PerformCheckpoint(scope.getScriptState()->isolate());
110 EXPECT_EQ("true", captor);
111 }
112
113 } // namespace
114 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/BUILD.gn ('k') | third_party/WebKit/Source/modules/payments/CanMakePaymentTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698