From 3219ea231ddb2a72f2ae3bed56ef265bf688b6c7 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 15 Mar 2021 11:15:23 +0000 Subject: [PATCH] Ensure order association is set correctly when adding admin adjustments --- app/controllers/spree/admin/adjustments_controller.rb | 5 +++++ spec/controllers/spree/admin/adjustments_controller_spec.rb | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/app/controllers/spree/admin/adjustments_controller.rb b/app/controllers/spree/admin/adjustments_controller.rb index 9e0cf85374..63d69583a5 100644 --- a/app/controllers/spree/admin/adjustments_controller.rb +++ b/app/controllers/spree/admin/adjustments_controller.rb @@ -5,6 +5,7 @@ module Spree destroy.after :reload_order prepend_before_action :set_included_tax, only: [:create, :update] + before_action :set_order_id, only: [:create, :update] before_action :set_default_tax_rate, only: :edit before_action :enable_updates, only: :update @@ -22,6 +23,10 @@ module Spree parent.all_adjustments.eligible.find(params[:id]) end + def set_order_id + @adjustment.order_id = parent.id + end + # Choose a default tax rate to show on the edit form. The adjustment stores its included # tax in dollars, but doesn't store the source of the tax (ie. TaxRate that generated it). # We guess which tax rate here, choosing: diff --git a/spec/controllers/spree/admin/adjustments_controller_spec.rb b/spec/controllers/spree/admin/adjustments_controller_spec.rb index d88d27748e..aafb1ff4b4 100644 --- a/spec/controllers/spree/admin/adjustments_controller_spec.rb +++ b/spec/controllers/spree/admin/adjustments_controller_spec.rb @@ -21,6 +21,7 @@ module Spree expect(a.label).to eq('Testing included tax') expect(a.amount).to eq(110) expect(a.included_tax).to eq(0) + expect(a.order_id).to eq(order.id) end it "calculates included tax when a tax rate is provided" do @@ -31,6 +32,7 @@ module Spree expect(a.label).to eq('Testing included tax') expect(a.amount).to eq(110) expect(a.included_tax).to eq(10) + expect(a.order_id).to eq(order.id) end end @@ -47,6 +49,7 @@ module Spree expect(a.label).to eq('Testing included tax') expect(a.amount).to eq(110) expect(a.included_tax).to eq(0) + expect(a.order_id).to eq(order.id) end it "calculates included tax when a tax rate is provided" do @@ -57,6 +60,7 @@ module Spree expect(a.label).to eq('Testing included tax') expect(a.amount).to eq(110) expect(a.included_tax).to eq(10) + expect(a.order_id).to eq(order.id) end end end