| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "modules/payments/PaymentResponse.h" | 5 #include "modules/payments/PaymentResponse.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/ExceptionState.h" | 7 #include "bindings/core/v8/ExceptionState.h" |
| 8 #include "bindings/core/v8/ScriptState.h" | 8 #include "bindings/core/v8/ScriptState.h" |
| 9 #include "bindings/core/v8/ScriptValue.h" | 9 #include "bindings/core/v8/ScriptValue.h" |
| 10 #include "bindings/core/v8/V8Binding.h" | 10 #include "bindings/core/v8/V8Binding.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 MOCK_METHOD2(complete, ScriptPromise(ScriptState*, PaymentComplete result)); | 37 MOCK_METHOD2(complete, ScriptPromise(ScriptState*, PaymentComplete result)); |
| 38 | 38 |
| 39 DEFINE_INLINE_TRACE() {} | 39 DEFINE_INLINE_TRACE() {} |
| 40 | 40 |
| 41 private: | 41 private: |
| 42 ScriptPromise m_dummyPromise; | 42 ScriptPromise m_dummyPromise; |
| 43 }; | 43 }; |
| 44 | 44 |
| 45 TEST(PaymentResponseTest, DataCopiedOver) { | 45 TEST(PaymentResponseTest, DataCopiedOver) { |
| 46 V8TestingScope scope; | 46 V8TestingScope scope; |
| 47 mojom::blink::PaymentResponsePtr input = buildPaymentResponseForTest(); | 47 payments::mojom::blink::PaymentResponsePtr input = |
| 48 buildPaymentResponseForTest(); |
| 48 input->method_name = "foo"; | 49 input->method_name = "foo"; |
| 49 input->stringified_details = "{\"transactionId\": 123}"; | 50 input->stringified_details = "{\"transactionId\": 123}"; |
| 50 input->shipping_option = "standardShippingOption"; | 51 input->shipping_option = "standardShippingOption"; |
| 51 input->payer_name = "Jon Doe"; | 52 input->payer_name = "Jon Doe"; |
| 52 input->payer_email = "abc@gmail.com"; | 53 input->payer_email = "abc@gmail.com"; |
| 53 input->payer_phone = "0123"; | 54 input->payer_phone = "0123"; |
| 54 MockPaymentCompleter* completeCallback = new MockPaymentCompleter; | 55 MockPaymentCompleter* completeCallback = new MockPaymentCompleter; |
| 55 | 56 |
| 56 PaymentResponse output(std::move(input), completeCallback); | 57 PaymentResponse output(std::move(input), completeCallback); |
| 57 | 58 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 71 scope.getScriptState(), | 72 scope.getScriptState(), |
| 72 details.v8Value().As<v8::Object>()->Get( | 73 details.v8Value().As<v8::Object>()->Get( |
| 73 v8String(scope.getScriptState()->isolate(), "transactionId"))); | 74 v8String(scope.getScriptState()->isolate(), "transactionId"))); |
| 74 | 75 |
| 75 ASSERT_TRUE(transactionId.v8Value()->IsNumber()); | 76 ASSERT_TRUE(transactionId.v8Value()->IsNumber()); |
| 76 EXPECT_EQ(123, transactionId.v8Value().As<v8::Number>()->Value()); | 77 EXPECT_EQ(123, transactionId.v8Value().As<v8::Number>()->Value()); |
| 77 } | 78 } |
| 78 | 79 |
| 79 TEST(PaymentResponseTest, PaymentResponseDetailsJSONObject) { | 80 TEST(PaymentResponseTest, PaymentResponseDetailsJSONObject) { |
| 80 V8TestingScope scope; | 81 V8TestingScope scope; |
| 81 mojom::blink::PaymentResponsePtr input = buildPaymentResponseForTest(); | 82 payments::mojom::blink::PaymentResponsePtr input = |
| 83 buildPaymentResponseForTest(); |
| 82 input->stringified_details = "transactionId"; | 84 input->stringified_details = "transactionId"; |
| 83 MockPaymentCompleter* completeCallback = new MockPaymentCompleter; | 85 MockPaymentCompleter* completeCallback = new MockPaymentCompleter; |
| 84 PaymentResponse output(std::move(input), completeCallback); | 86 PaymentResponse output(std::move(input), completeCallback); |
| 85 | 87 |
| 86 ScriptValue details = | 88 ScriptValue details = |
| 87 output.details(scope.getScriptState(), scope.getExceptionState()); | 89 output.details(scope.getScriptState(), scope.getExceptionState()); |
| 88 | 90 |
| 89 ASSERT_TRUE(scope.getExceptionState().hadException()); | 91 ASSERT_TRUE(scope.getExceptionState().hadException()); |
| 90 } | 92 } |
| 91 | 93 |
| 92 TEST(PaymentResponseTest, CompleteCalledWithSuccess) { | 94 TEST(PaymentResponseTest, CompleteCalledWithSuccess) { |
| 93 V8TestingScope scope; | 95 V8TestingScope scope; |
| 94 mojom::blink::PaymentResponsePtr input = buildPaymentResponseForTest(); | 96 payments::mojom::blink::PaymentResponsePtr input = |
| 97 buildPaymentResponseForTest(); |
| 95 input->method_name = "foo"; | 98 input->method_name = "foo"; |
| 96 input->stringified_details = "{\"transactionId\": 123}"; | 99 input->stringified_details = "{\"transactionId\": 123}"; |
| 97 MockPaymentCompleter* completeCallback = new MockPaymentCompleter; | 100 MockPaymentCompleter* completeCallback = new MockPaymentCompleter; |
| 98 PaymentResponse output(std::move(input), completeCallback); | 101 PaymentResponse output(std::move(input), completeCallback); |
| 99 | 102 |
| 100 EXPECT_CALL(*completeCallback, | 103 EXPECT_CALL(*completeCallback, |
| 101 complete(scope.getScriptState(), PaymentCompleter::Success)); | 104 complete(scope.getScriptState(), PaymentCompleter::Success)); |
| 102 | 105 |
| 103 output.complete(scope.getScriptState(), "success"); | 106 output.complete(scope.getScriptState(), "success"); |
| 104 } | 107 } |
| 105 | 108 |
| 106 TEST(PaymentResponseTest, CompleteCalledWithFailure) { | 109 TEST(PaymentResponseTest, CompleteCalledWithFailure) { |
| 107 V8TestingScope scope; | 110 V8TestingScope scope; |
| 108 mojom::blink::PaymentResponsePtr input = buildPaymentResponseForTest(); | 111 payments::mojom::blink::PaymentResponsePtr input = |
| 112 buildPaymentResponseForTest(); |
| 109 input->method_name = "foo"; | 113 input->method_name = "foo"; |
| 110 input->stringified_details = "{\"transactionId\": 123}"; | 114 input->stringified_details = "{\"transactionId\": 123}"; |
| 111 MockPaymentCompleter* completeCallback = new MockPaymentCompleter; | 115 MockPaymentCompleter* completeCallback = new MockPaymentCompleter; |
| 112 PaymentResponse output(std::move(input), completeCallback); | 116 PaymentResponse output(std::move(input), completeCallback); |
| 113 | 117 |
| 114 EXPECT_CALL(*completeCallback, | 118 EXPECT_CALL(*completeCallback, |
| 115 complete(scope.getScriptState(), PaymentCompleter::Fail)); | 119 complete(scope.getScriptState(), PaymentCompleter::Fail)); |
| 116 | 120 |
| 117 output.complete(scope.getScriptState(), "fail"); | 121 output.complete(scope.getScriptState(), "fail"); |
| 118 } | 122 } |
| 119 | 123 |
| 120 TEST(PaymentResponseTest, JSONSerializerTest) { | 124 TEST(PaymentResponseTest, JSONSerializerTest) { |
| 121 V8TestingScope scope; | 125 V8TestingScope scope; |
| 122 mojom::blink::PaymentResponsePtr input = mojom::blink::PaymentResponse::New(); | 126 payments::mojom::blink::PaymentResponsePtr input = |
| 127 payments::mojom::blink::PaymentResponse::New(); |
| 123 input->method_name = "foo"; | 128 input->method_name = "foo"; |
| 124 input->stringified_details = "{\"transactionId\": 123}"; | 129 input->stringified_details = "{\"transactionId\": 123}"; |
| 125 input->shipping_option = "standardShippingOption"; | 130 input->shipping_option = "standardShippingOption"; |
| 126 input->payer_email = "abc@gmail.com"; | 131 input->payer_email = "abc@gmail.com"; |
| 127 input->payer_phone = "0123"; | 132 input->payer_phone = "0123"; |
| 128 input->payer_name = "Jon Doe"; | 133 input->payer_name = "Jon Doe"; |
| 129 input->shipping_address = mojom::blink::PaymentAddress::New(); | 134 input->shipping_address = payments::mojom::blink::PaymentAddress::New(); |
| 130 input->shipping_address->country = "US"; | 135 input->shipping_address->country = "US"; |
| 131 input->shipping_address->language_code = "en"; | 136 input->shipping_address->language_code = "en"; |
| 132 input->shipping_address->script_code = "Latn"; | 137 input->shipping_address->script_code = "Latn"; |
| 133 input->shipping_address->address_line.append("340 Main St"); | 138 input->shipping_address->address_line.append("340 Main St"); |
| 134 input->shipping_address->address_line.append("BIN1"); | 139 input->shipping_address->address_line.append("BIN1"); |
| 135 input->shipping_address->address_line.append("First floor"); | 140 input->shipping_address->address_line.append("First floor"); |
| 136 | 141 |
| 137 PaymentResponse output(std::move(input), new MockPaymentCompleter); | 142 PaymentResponse output(std::move(input), new MockPaymentCompleter); |
| 138 ScriptValue jsonObject = output.toJSONForBinding(scope.getScriptState()); | 143 ScriptValue jsonObject = output.toJSONForBinding(scope.getScriptState()); |
| 139 EXPECT_TRUE(jsonObject.isObject()); | 144 EXPECT_TRUE(jsonObject.isObject()); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 153 "Latn\"," | 158 "Latn\"," |
| 154 "\"organization\":\"\",\"recipient\":\"\",\"phone\":\"\"}," | 159 "\"organization\":\"\",\"recipient\":\"\",\"phone\":\"\"}," |
| 155 "\"shippingOption\":" | 160 "\"shippingOption\":" |
| 156 "\"standardShippingOption\",\"payerName\":\"Jon Doe\"," | 161 "\"standardShippingOption\",\"payerName\":\"Jon Doe\"," |
| 157 "\"payerEmail\":\"abc@gmail.com\",\"payerPhone\":\"0123\"}"; | 162 "\"payerEmail\":\"abc@gmail.com\",\"payerPhone\":\"0123\"}"; |
| 158 EXPECT_EQ(expected, jsonString); | 163 EXPECT_EQ(expected, jsonString); |
| 159 } | 164 } |
| 160 | 165 |
| 161 } // namespace | 166 } // namespace |
| 162 } // namespace blink | 167 } // namespace blink |
| OLD | NEW |