diff --git a/app/controllers/checkout_controller.rb b/app/controllers/checkout_controller.rb index 8567f30502..fe392d5058 100644 --- a/app/controllers/checkout_controller.rb +++ b/app/controllers/checkout_controller.rb @@ -84,6 +84,8 @@ class CheckoutController < ::BaseController redirect_to(main_app.shop_path) && return if redirect_to_shop? handle_invalid_stock && return unless valid_order_line_items? + return if valid_payment_intent_provided? + before_address setup_for_current_state end diff --git a/spec/controllers/checkout_controller_spec.rb b/spec/controllers/checkout_controller_spec.rb index 10bc625675..4c413727d4 100644 --- a/spec/controllers/checkout_controller_spec.rb +++ b/spec/controllers/checkout_controller_spec.rb @@ -210,6 +210,12 @@ describe CheckoutController, type: :controller do expect(response).to redirect_to order_path(order) end + it "does not attempt to load different addresses" do + expect(OpenFoodNetwork::AddressFinder).to_not receive(:new) + + get :edit, params: { payment_intent: "pi_123" } + end + it "creates a customer record" do order.update_columns(customer_id: nil) Customer.delete_all