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

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

Issue 2844463002: PaymentHandler: Implement PaymentInstruments.delete(). (Closed)
Patch Set: Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/payments/payment_manager_unittest.cc
diff --git a/content/browser/payments/payment_manager_unittest.cc b/content/browser/payments/payment_manager_unittest.cc
index 1806b5d72599513b7094e81ad13ef21679796e37..a72db36cc2b5be6b40876ba03c740cc02ad3ffc1 100644
--- a/content/browser/payments/payment_manager_unittest.cc
+++ b/content/browser/payments/payment_manager_unittest.cc
@@ -40,6 +40,11 @@ void GetManifestCallback(bool* called,
*out_error = error;
}
+void DeletePaymentInstrumentCallback(PaymentHandlerStatus* out_status,
+ PaymentHandlerStatus status) {
+ *out_status = status;
+}
+
void SetPaymentInstrumentCallback(PaymentHandlerStatus* out_status,
PaymentHandlerStatus status) {
*out_status = status;
@@ -65,6 +70,14 @@ class PaymentManagerTest : public PaymentAppContentUnitTestBase {
PaymentManager* payment_manager() const { return manager_; }
+ void DeletePaymentInstrument(const std::string& instrumentKey,
+ PaymentHandlerStatus* out_status) {
+ manager_->DeletePaymentInstrument(
+ instrumentKey,
+ base::Bind(&DeletePaymentInstrumentCallback, out_status));
+ base::RunLoop().RunUntilIdle();
+ }
+
void SetPaymentInstrument(const std::string& instrumentKey,
PaymentInstrumentPtr instrument,
PaymentHandlerStatus* out_status) {
@@ -185,4 +198,29 @@ TEST_F(PaymentManagerTest, GetUnstoredPaymentInstrument) {
ASSERT_EQ(PaymentHandlerStatus::NOT_FOUND, read_status);
}
+TEST_F(PaymentManagerTest, DeletePaymentInstrument) {
+ PaymentHandlerStatus write_status = PaymentHandlerStatus::NOT_FOUND;
+ PaymentInstrumentPtr write_details = PaymentInstrument::New();
+ write_details->name = "Visa ending ****4756",
+ write_details->enabled_methods.push_back("visa");
+ write_details->stringified_capabilities = "{}";
+ ASSERT_EQ(PaymentHandlerStatus::NOT_FOUND, write_status);
+ SetPaymentInstrument("test_key", std::move(write_details), &write_status);
+ ASSERT_EQ(PaymentHandlerStatus::SUCCESS, write_status);
+
+ PaymentHandlerStatus read_status = PaymentHandlerStatus::NOT_FOUND;
+ PaymentInstrumentPtr read_details;
+ ASSERT_EQ(PaymentHandlerStatus::NOT_FOUND, read_status);
+ GetPaymentInstrument("test_key", &read_details, &read_status);
+ ASSERT_EQ(PaymentHandlerStatus::SUCCESS, read_status);
+
+ PaymentHandlerStatus delete_status = PaymentHandlerStatus::NOT_FOUND;
+ DeletePaymentInstrument("test_key", &delete_status);
+ ASSERT_EQ(PaymentHandlerStatus::SUCCESS, delete_status);
+
+ read_status = PaymentHandlerStatus::NOT_FOUND;
+ GetPaymentInstrument("test_key", &read_details, &read_status);
+ ASSERT_EQ(PaymentHandlerStatus::NOT_FOUND, read_status);
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698