Improve Order#enterpise_fee_tax

This commit is contained in:
Matt-Yorkley
2021-03-19 13:06:38 +00:00
parent 19f32b7825
commit 84a40e6ae0
2 changed files with 19 additions and 12 deletions

View File

@@ -565,7 +565,7 @@ module Spree
end
def enterprise_fee_tax
all_adjustments.reload.enterprise_fee.sum(:included_tax)
all_adjustments.tax.where(adjustable: all_adjustments.enterprise_fee).sum(:amount)
end
def total_tax

View File

@@ -627,21 +627,28 @@ describe Spree::Order do
end
end
describe "getting the enterprise fee tax" do
describe "#enterprise_fee_tax" do
let!(:order) { create(:order) }
let(:enterprise_fee1) { create(:enterprise_fee) }
let(:enterprise_fee2) { create(:enterprise_fee) }
let!(:adjustment1) {
create(:adjustment, adjustable: order, originator: enterprise_fee1, label: "EF 1",
amount: 123, included_tax: 10.00, order: order)
let(:enterprise_fee) { create(:enterprise_fee) }
let!(:fee_adjustment) {
create(:adjustment, adjustable: order, originator: enterprise_fee,
amount: 100, order: order, state: "closed")
}
let!(:adjustment2) {
create(:adjustment, adjustable: order, originator: enterprise_fee2, label: "EF 2",
amount: 123, included_tax: 2.00, order: order)
let!(:fee_tax1) {
create(:adjustment, adjustable: fee_adjustment, originator_type: "Spree::TaxRate",
amount: 12.3, order: order, state: "closed")
}
let!(:fee_tax2) {
create(:adjustment, adjustable: fee_adjustment, originator_type: "Spree::TaxRate",
amount: 4.5, order: order, state: "closed")
}
let!(:admin_adjustment) {
create(:adjustment, adjustable: order, originator: nil,
amount: 6.7, order: order, state: "closed")
}
it "returns a sum of the tax included in all enterprise fees" do
expect(order.reload.enterprise_fee_tax).to eq(12)
it "returns a sum of all taxes on enterprise fees" do
expect(order.reload.enterprise_fee_tax).to eq(16.8)
end
end