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

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

Issue 2898223002: PaymentHandler: Rename PaymentAppRequest with PaymentRequestEventData. (Closed)
Patch Set: Rename Created 3 years, 6 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 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 #include "modules/payments/PaymentAppRequestConversion.h"
6
7 #include "bindings/core/v8/ScriptValue.h"
8 #include "bindings/core/v8/V8BindingForCore.h"
9 #include "bindings/core/v8/V8BindingForTesting.h"
10 #include "platform/bindings/ScriptState.h"
11 #include "public/platform/modules/payments/WebPaymentAppRequest.h"
12 #include "testing/gmock/include/gmock/gmock.h"
13 #include "testing/gtest/include/gtest/gtest.h"
14
15 namespace blink {
16 namespace {
17
18 static WebPaymentItem CreateWebPaymentItemForTest() {
19 WebPaymentItem web_item;
20 web_item.label = WebString::FromUTF8("Label");
21 web_item.amount.currency = WebString::FromUTF8("USD");
22 web_item.amount.value = WebString::FromUTF8("9.99");
23 return web_item;
24 }
25
26 static WebPaymentMethodData CreateWebPaymentMethodDataForTest() {
27 WebPaymentMethodData web_method_data;
28 WebString method = WebString::FromUTF8("foo");
29 web_method_data.supported_methods = WebVector<WebString>(&method, 1);
30 web_method_data.stringified_data = "{\"merchantId\":\"12345\"}";
31 return web_method_data;
32 }
33
34 static WebPaymentAppRequest CreateWebPaymentAppRequestForTest() {
35 WebPaymentAppRequest web_data;
36 web_data.top_level_origin = WebString::FromUTF8("https://example.com");
37 web_data.payment_request_origin = WebString::FromUTF8("https://example.com");
38 web_data.payment_request_id = WebString::FromUTF8("payment-request-id");
39 Vector<WebPaymentMethodData> method_data;
40 method_data.push_back(CreateWebPaymentMethodDataForTest());
41 web_data.method_data = WebVector<WebPaymentMethodData>(method_data);
42 web_data.total = CreateWebPaymentItemForTest();
43 web_data.instrument_key = WebString::FromUTF8("payment-instrument-key");
44 return web_data;
45 }
46
47 TEST(PaymentAppRequestConversionTest, ToPaymentAppRequest) {
48 V8TestingScope scope;
49 WebPaymentAppRequest web_data = CreateWebPaymentAppRequestForTest();
50 PaymentAppRequest data = PaymentAppRequestConversion::ToPaymentAppRequest(
51 scope.GetScriptState(), web_data);
52
53 ASSERT_TRUE(data.hasTopLevelOrigin());
54 EXPECT_EQ("https://example.com", data.topLevelOrigin());
55
56 ASSERT_TRUE(data.hasPaymentRequestOrigin());
57 EXPECT_EQ("https://example.com", data.paymentRequestOrigin());
58
59 ASSERT_TRUE(data.hasPaymentRequestId());
60 EXPECT_EQ("payment-request-id", data.paymentRequestId());
61
62 ASSERT_TRUE(data.hasMethodData());
63 ASSERT_EQ(1UL, data.methodData().size());
64 ASSERT_TRUE(data.methodData().front().hasSupportedMethods());
65 ASSERT_EQ(1UL, data.methodData().front().supportedMethods().size());
66 ASSERT_EQ("foo", data.methodData().front().supportedMethods().front());
67 ASSERT_TRUE(data.methodData().front().hasData());
68 ASSERT_TRUE(data.methodData().front().data().IsObject());
69 String stringified_data = V8StringToWebCoreString<String>(
70 v8::JSON::Stringify(
71 scope.GetContext(),
72 data.methodData().front().data().V8Value().As<v8::Object>())
73 .ToLocalChecked(),
74 kDoNotExternalize);
75 EXPECT_EQ("{\"merchantId\":\"12345\"}", stringified_data);
76
77 ASSERT_TRUE(data.hasTotal());
78 ASSERT_TRUE(data.total().hasLabel());
79 EXPECT_EQ("Label", data.total().label());
80 ASSERT_TRUE(data.total().hasAmount());
81 ASSERT_TRUE(data.total().amount().hasCurrency());
82 EXPECT_EQ("USD", data.total().amount().currency());
83 ASSERT_TRUE(data.total().amount().hasValue());
84 EXPECT_EQ("9.99", data.total().amount().value());
85
86 ASSERT_TRUE(data.hasInstrumentKey());
87 EXPECT_EQ("payment-instrument-key", data.instrumentKey());
88 }
89
90 } // namespace
91 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698