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

Unified Diff: content/browser/payments/payment_app_manager_unittest.cc

Issue 2506093002: PaymentApp: Implement PaymentAppManager.getManifest(). (Closed)
Patch Set: PaymentApp: Implement PaymentAppManager.getManifest(). Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/payments/payment_app_manager_unittest.cc
diff --git a/content/browser/payments/payment_app_manager_unittest.cc b/content/browser/payments/payment_app_manager_unittest.cc
index 664025a0da4cca3b760cb77103eab9a2e2ae7ebf..d29d395cee097c470bd026ca239f66565289143e 100644
--- a/content/browser/payments/payment_app_manager_unittest.cc
+++ b/content/browser/payments/payment_app_manager_unittest.cc
@@ -26,7 +26,6 @@ namespace {
const char kServiceWorkerPattern[] = "https://example.com/a";
const char kServiceWorkerScript[] = "https://example.com/a/script.js";
-const char kPaymentAppManifestDataKey[] = "PaymentAppManifestData";
void RegisterServiceWorkerCallback(bool* called,
int64_t* store_registration_id,
@@ -43,10 +42,12 @@ void SetManifestCallback(payments::mojom::PaymentAppManifestError* out_error,
*out_error = error;
}
-void ReadManifestDataCallback(std::vector<std::string>* out_data,
- const std::vector<std::string>& data,
- ServiceWorkerStatusCode status) {
- *out_data = data;
+void GetManifestCallback(payments::mojom::PaymentAppManifestPtr* out_manifest,
+ payments::mojom::PaymentAppManifestError* out_error,
+ payments::mojom::PaymentAppManifestPtr manifest,
+ payments::mojom::PaymentAppManifestError error) {
+ *out_manifest = std::move(manifest);
+ *out_error = error;
}
} // namespace
@@ -97,10 +98,9 @@ class PaymentAppManagerTest : public testing::Test {
base::RunLoop().RunUntilIdle();
}
- void ReadManifestData(std::vector<std::string>* out_data) {
- embedded_worker_helper_->context_wrapper()->GetRegistrationUserData(
- sw_registration_id_, {{kPaymentAppManifestDataKey}},
- base::Bind(&ReadManifestDataCallback, out_data));
+ void GetManifest(const std::string& scope,
+ const PaymentAppManager::GetManifestCallback& callback) {
+ manager_->GetManifest(scope, callback);
base::RunLoop().RunUntilIdle();
}
@@ -118,7 +118,7 @@ class PaymentAppManagerTest : public testing::Test {
DISALLOW_COPY_AND_ASSIGN(PaymentAppManagerTest);
};
-TEST_F(PaymentAppManagerTest, SetManifest) {
+TEST_F(PaymentAppManagerTest, SetAndGetManifest) {
payments::mojom::PaymentAppOptionPtr option =
payments::mojom::PaymentAppOption::New();
option->label = "Visa ****";
@@ -138,13 +138,30 @@ TEST_F(PaymentAppManagerTest, SetManifest) {
ASSERT_EQ(error, payments::mojom::PaymentAppManifestError::NONE);
- std::vector<std::string> data;
- ReadManifestData(&data);
- ASSERT_EQ(data.size(), 1UL);
- EXPECT_EQ(
- "\n\vPayment App\x12\x10payment-app-icon\x1A"
- "3\n\tVisa ****\x12\x10payment-app-icon\x1A\xEpayment-app-id\"\x4visa",
- data[0]);
+ payments::mojom::PaymentAppManifestPtr read_manifest;
+ payments::mojom::PaymentAppManifestError read_error;
+ GetManifest(kServiceWorkerPattern,
+ base::Bind(&GetManifestCallback, &read_manifest, &read_error));
+
+ ASSERT_EQ(read_error, payments::mojom::PaymentAppManifestError::NONE);
+ EXPECT_EQ(read_manifest->icon, std::string("payment-app-icon"));
+ EXPECT_EQ(read_manifest->label, "Payment App");
+ ASSERT_EQ(read_manifest->options.size(), 1U);
+ EXPECT_EQ(read_manifest->options[0]->icon, std::string("payment-app-icon"));
+ EXPECT_EQ(read_manifest->options[0]->label, "Visa ****");
+ EXPECT_EQ(read_manifest->options[0]->id, "payment-app-id");
+ ASSERT_EQ(read_manifest->options[0]->enabled_methods.size(), 1U);
+ EXPECT_EQ(read_manifest->options[0]->enabled_methods[0], "visa");
+}
+
+TEST_F(PaymentAppManagerTest, GetManifestWithoutAssociatedServiceWorker) {
+ payments::mojom::PaymentAppManifestPtr read_manifest;
+ payments::mojom::PaymentAppManifestError read_error;
+ GetManifest(kServiceWorkerPattern,
+ base::Bind(&GetManifestCallback, &read_manifest, &read_error));
+
+ EXPECT_EQ(read_error, payments::mojom::PaymentAppManifestError::
+ MANIFEST_STORAGE_OPERATION_FAILED);
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698