From 0f923405cb3f4fc09e8a5b9b2ad6bd713100c2a5 Mon Sep 17 00:00:00 2001 From: David Cook Date: Mon, 22 Jul 2024 15:48:21 +1000 Subject: [PATCH] Attempt to spec for error It didn't catch the error I was looking for. I'm not sure if it is a valid use case, but it still seems helpful to add coverage for current functionality. --- spec/controllers/checkout_controller_spec.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/spec/controllers/checkout_controller_spec.rb b/spec/controllers/checkout_controller_spec.rb index acef705a0c..a322f9b3bf 100644 --- a/spec/controllers/checkout_controller_spec.rb +++ b/spec/controllers/checkout_controller_spec.rb @@ -328,6 +328,23 @@ RSpec.describe CheckoutController, type: :controller do expect_cable_ready_redirect(response) end end + + context "with existing invalid payments" do + let(:invalid_payments) { [ + create(:payment, state: :failed), + create(:payment, state: :void), + ] } + + before do + order.payments = invalid_payments + end + + it "deletes invalid payments" do + expect{ + put(:update, params:) + }.to change { order.payments.to_a }.from(invalid_payments) + end + end end context "with no payment source" do