diff --git a/app/services/order_tax_adjustments_fetcher.rb b/app/services/order_tax_adjustments_fetcher.rb index 3eee488535..23b5dde065 100644 --- a/app/services/order_tax_adjustments_fetcher.rb +++ b/app/services/order_tax_adjustments_fetcher.rb @@ -22,7 +22,7 @@ class OrderTaxAdjustmentsFetcher def all Spree::Adjustment .with_tax - .where(order_adjustments.or(line_item_adjustments)) + .where(order_adjustments.or(line_item_adjustments).or(shipment_adjustments)) .order('created_at ASC') end @@ -36,6 +36,11 @@ class OrderTaxAdjustmentsFetcher .and(table[:adjustable_type].eq('Spree::LineItem')) end + def shipment_adjustments + table[:order_id].eq(order.id) + .and(table[:adjustable_type].eq('Spree::Shipment')) + end + def table @table ||= Spree::Adjustment.arel_table end diff --git a/spec/services/order_tax_adjustments_fetcher_spec.rb b/spec/services/order_tax_adjustments_fetcher_spec.rb index ed86a1f15e..de7f788230 100644 --- a/spec/services/order_tax_adjustments_fetcher_spec.rb +++ b/spec/services/order_tax_adjustments_fetcher_spec.rb @@ -86,7 +86,7 @@ describe OrderTaxAdjustmentsFetcher do subject { OrderTaxAdjustmentsFetcher.new(order).totals } - it "returns a hash with all 3 taxes" do + it "returns a hash with all 4 taxes" do expect(subject.size).to eq(4) end