Adds spec on negative adjustment

with different localization settings

Using shared examples and setting failing

ones as pending
This commit is contained in:
filipefurtad0
2023-05-12 20:14:46 +01:00
parent 3c7337b53a
commit 596b318778

View File

@@ -23,6 +23,10 @@ describe '
zone: create(:zone_with_member), tax_category: tax_category)
}
let!(:tax_category_included) { create(:tax_category, name: 'TVA 20%', is_default: true) }
let!(:default_tax_zone) { create(:zone, default_tax: true) }
let!(:tax_rate2) { create(:tax_rate, name: "TVA 20%", amount: 0.2, zone: default_tax_zone, included_in_price: true, tax_category: tax_category_included, calculator: Calculator::DefaultTax.new ) }
before do
order.finalize!
create(:check_payment, order: order, amount: order.total)
@@ -30,22 +34,84 @@ describe '
visit spree.admin_orders_path
end
it "adding taxed adjustments to an order" do
# When I go to the adjustments page for the order
page.find('td.actions a.icon-edit').click
click_link 'Adjustments'
shared_examples "when the enable_localized_number preference" do |adjustment_label, adjustment_amount, tax_category, tax, tax_total|
it "creates the adjustment and calculates taxes" do
# When I go to the adjustments page for the order
page.find('td.actions a.icon-edit').click
click_link 'Adjustments'
# And I create a new adjustment with tax
click_link 'New Adjustment'
fill_in 'adjustment_amount', with: 110
fill_in 'adjustment_label', with: 'Late fee'
select 'GST', from: 'adjustment_tax_category_id'
click_button 'Continue'
# And I create a new adjustment with tax
click_link 'New Adjustment'
fill_in 'adjustment_amount', with: adjustment_amount
fill_in 'adjustment_label', with: adjustment_label
select tax_category.to_s, from: 'adjustment_tax_category_id'
click_button 'Continue'
# Then I should see the adjustment, with the correct tax
expect(page).to have_selector 'td.label', text: 'Late fee'
expect(page).to have_selector 'td.amount', text: '110.00'
expect(page).to have_selector 'td.tax', text: '10.00'
# Then I should see the adjustment, with tax included in the amount
expect(page).to have_selector 'td.label', text: adjustment_label.to_s
expect(page).to have_selector 'td.amount', text: adjustment_amount.to_s
expect(page).to have_selector 'td.tax-category', text: tax_category.to_s
expect(page).to have_selector 'td.tax', text: tax.to_s
expect(page).to have_selector 'td.total', text: tax_total.to_s
end
end
context "is active" do
before do
allow(Spree::Config).to receive(:enable_localized_number?).and_return(true)
end
context "included tax" do
context "adding negative, taxed adjustments to an order" do
it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "TVA 20%", "$0.33", "$-1.67" do
before { pending("#10837") }
end
end
context "adding positive, taxed adjustments to an order" do
it_behaves_like "when the enable_localized_number preference", "Late fee", "100", "TVA 20%", "$-16.67", "$83.33" do
before { pending("#10837") }
end
end
end
context "added tax" do
context "adding negative, taxed adjustments to an order" do
it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "GST", "$10.00", "$8.00" do
before { pending("#10837") }
end
end
context "adding positive, taxed adjustments to an order" do
it_behaves_like "when the enable_localized_number preference", "Late fee", "110", "GST", "$10.00", "$120"
end
end
end
context "is not active" do
before do
allow(Spree::Config).to receive(:enable_localized_number?).and_return(false)
end
context "included tax" do
context "adding negative, taxed adjustments to an order" do
it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "TVA 20%", "$0.33", "$-1.67"
end
context "adding positive, taxed adjustments to an order" do
it_behaves_like "when the enable_localized_number preference", "Late fee", "100", "TVA 20%", "$-16.67", "$83.33"
end
end
context "added tax" do
context "adding negative, taxed adjustments to an order" do
it_behaves_like "when the enable_localized_number preference", "Discount", "-2", "GST", "$10.00", "$8.00"
end
context "adding positive, taxed adjustments to an order" do
it_behaves_like "when the enable_localized_number preference", "Late fee", "110", "GST", "$10.00", "$120"
end
end
end
it "modifying taxed adjustments on an order" do