diff --git a/app/models/spree/tax_rate_decorator.rb b/app/models/spree/tax_rate_decorator.rb index e41c20db70..835c001a05 100644 --- a/app/models/spree/tax_rate_decorator.rb +++ b/app/models/spree/tax_rate_decorator.rb @@ -2,6 +2,7 @@ Spree::TaxRate.class_eval do def adjust_with_included_tax(order) adjust_without_included_tax(order) + order.reload (order.adjustments.tax + order.price_adjustments).each do |a| a.set_absolute_included_tax! a.amount end diff --git a/spec/models/spree/adjustment_spec.rb b/spec/models/spree/adjustment_spec.rb index 35746b28fd..21475753be 100644 --- a/spec/models/spree/adjustment_spec.rb +++ b/spec/models/spree/adjustment_spec.rb @@ -23,6 +23,11 @@ module Spree adjustment.amount.should be > 0 adjustment.included_tax.should == adjustment.amount end + + it "does not crash when order data has been updated previously" do + order.price_adjustments.first.destroy + tax_rate.adjust(order) + end end describe "Shipment adjustments" do