From 6f35e4e662e982abb236bd78f40b98fa0a012715 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 15 Mar 2021 11:46:14 +0000 Subject: [PATCH] Update order total when editing admin adjustments --- app/controllers/spree/admin/adjustments_controller.rb | 5 +++-- .../spree/admin/adjustments_controller_spec.rb | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/controllers/spree/admin/adjustments_controller.rb b/app/controllers/spree/admin/adjustments_controller.rb index 63d69583a5..d596ed9b16 100644 --- a/app/controllers/spree/admin/adjustments_controller.rb +++ b/app/controllers/spree/admin/adjustments_controller.rb @@ -2,17 +2,18 @@ module Spree module Admin class AdjustmentsController < ::Admin::ResourceController belongs_to 'spree/order', find_by: :number - destroy.after :reload_order prepend_before_action :set_included_tax, only: [:create, :update] before_action :set_order_id, only: [:create, :update] + after_action :update_order, only: [:create, :update, :destroy] before_action :set_default_tax_rate, only: :edit before_action :enable_updates, only: :update private - def reload_order + def update_order @order.reload + @order.update! end def collection diff --git a/spec/controllers/spree/admin/adjustments_controller_spec.rb b/spec/controllers/spree/admin/adjustments_controller_spec.rb index aafb1ff4b4..931112da4b 100644 --- a/spec/controllers/spree/admin/adjustments_controller_spec.rb +++ b/spec/controllers/spree/admin/adjustments_controller_spec.rb @@ -22,6 +22,8 @@ module Spree expect(a.amount).to eq(110) expect(a.included_tax).to eq(0) expect(a.order_id).to eq(order.id) + + expect(order.reload.total).to eq 110 end it "calculates included tax when a tax rate is provided" do @@ -33,6 +35,8 @@ module Spree expect(a.amount).to eq(110) expect(a.included_tax).to eq(10) expect(a.order_id).to eq(order.id) + + expect(order.reload.total).to eq 110 end end @@ -50,6 +54,8 @@ module Spree expect(a.amount).to eq(110) expect(a.included_tax).to eq(0) expect(a.order_id).to eq(order.id) + + expect(order.reload.total).to eq 110 end it "calculates included tax when a tax rate is provided" do @@ -61,6 +67,8 @@ module Spree expect(a.amount).to eq(110) expect(a.included_tax).to eq(10) expect(a.order_id).to eq(order.id) + + expect(order.reload.total).to eq 110 end end end