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

Side by Side Diff: content/browser/payments/payment_manager_unittest.cc

Issue 2875493003: PaymentHandler: Remove PaymentAppManifest and PaymentAppOption. (Closed)
Patch Set: global-interface-listing Created 3 years, 7 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
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 <utility> 5 #include <utility>
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "components/payments/mojom/payment_app.mojom.h" 9 #include "components/payments/mojom/payment_app.mojom.h"
10 #include "content/browser/payments/payment_app_content_unittest_base.h" 10 #include "content/browser/payments/payment_app_content_unittest_base.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "url/gurl.h" 12 #include "url/gurl.h"
13 13
14 namespace content { 14 namespace content {
15 namespace { 15 namespace {
16 16
17 using ::payments::mojom::PaymentAppManifestError;
18 using ::payments::mojom::PaymentAppManifestPtr;
19 using ::payments::mojom::PaymentHandlerStatus; 17 using ::payments::mojom::PaymentHandlerStatus;
20 using ::payments::mojom::PaymentInstrument; 18 using ::payments::mojom::PaymentInstrument;
21 using ::payments::mojom::PaymentInstrumentPtr; 19 using ::payments::mojom::PaymentInstrumentPtr;
22 20
23 const char kServiceWorkerPattern[] = "https://example.com/a"; 21 const char kServiceWorkerPattern[] = "https://example.com/a";
24 const char kServiceWorkerScript[] = "https://example.com/a/script.js"; 22 const char kServiceWorkerScript[] = "https://example.com/a/script.js";
25 23
26 void SetManifestCallback(bool* called,
27 PaymentAppManifestError* out_error,
28 PaymentAppManifestError error) {
29 *called = true;
30 *out_error = error;
31 }
32
33 void GetManifestCallback(bool* called,
34 PaymentAppManifestPtr* out_manifest,
35 PaymentAppManifestError* out_error,
36 PaymentAppManifestPtr manifest,
37 PaymentAppManifestError error) {
38 *called = true;
39 *out_manifest = std::move(manifest);
40 *out_error = error;
41 }
42
43 void DeletePaymentInstrumentCallback(PaymentHandlerStatus* out_status, 24 void DeletePaymentInstrumentCallback(PaymentHandlerStatus* out_status,
44 PaymentHandlerStatus status) { 25 PaymentHandlerStatus status) {
45 *out_status = status; 26 *out_status = status;
46 } 27 }
47 28
48 void SetPaymentInstrumentCallback(PaymentHandlerStatus* out_status, 29 void SetPaymentInstrumentCallback(PaymentHandlerStatus* out_status,
49 PaymentHandlerStatus status) { 30 PaymentHandlerStatus status) {
50 *out_status = status; 31 *out_status = status;
51 } 32 }
52 33
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 base::RunLoop().RunUntilIdle(); 115 base::RunLoop().RunUntilIdle();
135 } 116 }
136 117
137 private: 118 private:
138 // Owned by payment_app_context_. 119 // Owned by payment_app_context_.
139 PaymentManager* manager_; 120 PaymentManager* manager_;
140 121
141 DISALLOW_COPY_AND_ASSIGN(PaymentManagerTest); 122 DISALLOW_COPY_AND_ASSIGN(PaymentManagerTest);
142 }; 123 };
143 124
144 TEST_F(PaymentManagerTest, SetAndGetManifest) {
145 bool called = false;
146 PaymentAppManifestError error =
147 PaymentAppManifestError::MANIFEST_STORAGE_OPERATION_FAILED;
148 SetManifest(payment_manager(),
149 CreatePaymentAppManifestForTest(kServiceWorkerPattern),
150 base::Bind(&SetManifestCallback, &called, &error));
151 ASSERT_TRUE(called);
152
153 ASSERT_EQ(PaymentAppManifestError::NONE, error);
154
155 called = false;
156 PaymentAppManifestPtr read_manifest;
157 PaymentAppManifestError read_error =
158 PaymentAppManifestError::MANIFEST_STORAGE_OPERATION_FAILED;
159 GetManifest(payment_manager(), base::Bind(&GetManifestCallback, &called,
160 &read_manifest, &read_error));
161 ASSERT_TRUE(called);
162
163 ASSERT_EQ(payments::mojom::PaymentAppManifestError::NONE, read_error);
164 EXPECT_EQ("payment-app-icon", read_manifest->icon.value());
165 EXPECT_EQ(kServiceWorkerPattern, read_manifest->name);
166 ASSERT_EQ(1U, read_manifest->options.size());
167 EXPECT_EQ("payment-app-icon", read_manifest->options[0]->icon.value());
168 EXPECT_EQ("Visa ****", read_manifest->options[0]->name);
169 EXPECT_EQ("payment-app-id", read_manifest->options[0]->id);
170 ASSERT_EQ(1U, read_manifest->options[0]->enabled_methods.size());
171 EXPECT_EQ("visa", read_manifest->options[0]->enabled_methods[0]);
172 }
173
174 TEST_F(PaymentManagerTest, SetManifestWithoutAssociatedServiceWorker) {
175 bool called = false;
176 PaymentAppManifestError error = PaymentAppManifestError::NONE;
177 UnregisterServiceWorker(GURL(kServiceWorkerPattern));
178 SetManifest(payment_manager(),
179 CreatePaymentAppManifestForTest(kServiceWorkerPattern),
180 base::Bind(&SetManifestCallback, &called, &error));
181 ASSERT_TRUE(called);
182
183 EXPECT_EQ(PaymentAppManifestError::NO_ACTIVE_WORKER, error);
184 }
185
186 TEST_F(PaymentManagerTest, GetManifestWithoutAssociatedServiceWorker) {
187 bool called = false;
188 PaymentAppManifestPtr read_manifest;
189 PaymentAppManifestError read_error = PaymentAppManifestError::NONE;
190 UnregisterServiceWorker(GURL(kServiceWorkerPattern));
191 GetManifest(payment_manager(), base::Bind(&GetManifestCallback, &called,
192 &read_manifest, &read_error));
193 ASSERT_TRUE(called);
194
195 EXPECT_EQ(PaymentAppManifestError::NO_ACTIVE_WORKER, read_error);
196 }
197
198 TEST_F(PaymentManagerTest, GetManifestWithNoSavedManifest) {
199 bool called = false;
200 PaymentAppManifestPtr read_manifest;
201 PaymentAppManifestError read_error = PaymentAppManifestError::NONE;
202 GetManifest(payment_manager(), base::Bind(&GetManifestCallback, &called,
203 &read_manifest, &read_error));
204 ASSERT_TRUE(called);
205
206 EXPECT_EQ(PaymentAppManifestError::MANIFEST_STORAGE_OPERATION_FAILED,
207 read_error);
208 }
209
210 TEST_F(PaymentManagerTest, SetAndGetPaymentInstrument) { 125 TEST_F(PaymentManagerTest, SetAndGetPaymentInstrument) {
211 PaymentHandlerStatus write_status = PaymentHandlerStatus::NOT_FOUND; 126 PaymentHandlerStatus write_status = PaymentHandlerStatus::NOT_FOUND;
212 PaymentInstrumentPtr write_details = PaymentInstrument::New(); 127 PaymentInstrumentPtr write_details = PaymentInstrument::New();
213 write_details->name = "Visa ending ****4756", 128 write_details->name = "Visa ending ****4756",
214 write_details->enabled_methods.push_back("visa"); 129 write_details->enabled_methods.push_back("visa");
215 write_details->stringified_capabilities = "{}"; 130 write_details->stringified_capabilities = "{}";
216 SetPaymentInstrument("test_key", std::move(write_details), &write_status); 131 SetPaymentInstrument("test_key", std::move(write_details), &write_status);
217 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, write_status); 132 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, write_status);
218 133
219 PaymentHandlerStatus read_status = PaymentHandlerStatus::NOT_FOUND; 134 PaymentHandlerStatus read_status = PaymentHandlerStatus::NOT_FOUND;
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 ClearPaymentInstruments(&status); 252 ClearPaymentInstruments(&status);
338 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, status); 253 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, status);
339 254
340 status = PaymentHandlerStatus::NOT_FOUND; 255 status = PaymentHandlerStatus::NOT_FOUND;
341 KeysOfPaymentInstruments(&keys, &status); 256 KeysOfPaymentInstruments(&keys, &status);
342 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, status); 257 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, status);
343 ASSERT_EQ(0U, keys.size()); 258 ASSERT_EQ(0U, keys.size());
344 } 259 }
345 260
346 } // namespace content 261 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/payments/payment_manager.cc ('k') | content/public/browser/payment_app_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698