From ebb69d7f93e57b4ea0887391d42a1d337adcdc6f Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Thu, 20 Jan 2022 09:03:14 +0000 Subject: [PATCH] Add controller test for payment redirect --- .../split_checkout_controller_spec.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/spec/controllers/split_checkout_controller_spec.rb b/spec/controllers/split_checkout_controller_spec.rb index 9c8963a349..fb622ca4c1 100644 --- a/spec/controllers/split_checkout_controller_spec.rb +++ b/spec/controllers/split_checkout_controller_spec.rb @@ -193,6 +193,23 @@ describe SplitCheckoutController, type: :controller do end end end + + context "when an external payment gateway is used" do + before do + expect(controller).to receive(:selected_payment_method).at_least(:once) { payment_method } + expect(payment_method).to receive(:external_gateway?) { true } + expect(payment_method).to receive(:external_payment_url) { "https://example.com/pay" } + end + + describe "confirming the order" do + it "redirects to the payment gateway's URL" do + put :update, params: params + + expect(response.body).to match("https://example.com/pay").and match("redirect") + expect(order.reload.state).to eq "confirmation" + end + end + end end end end