mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Merge pull request #2670 from luisramos0/2-0-ship-method-adjustment-spec
[Spree 2 Upgrade] Fix issues related to shipments in adjustment_spec
This commit is contained in:
@@ -280,6 +280,16 @@ FactoryBot.define do
|
||||
after(:create) { |c| c.set_preference(:per_kg, 0.5); c.save! }
|
||||
end
|
||||
|
||||
factory :shipping_method_with_flat_rate, parent: :shipping_method do
|
||||
calculator { Spree::Calculator::FlatRate.new(preferred_amount: 50.0) }
|
||||
end
|
||||
|
||||
factory :shipment_with_flat_rate, parent: :shipment do
|
||||
after(:create) do |shipment|
|
||||
shipment.add_shipping_method(create(:shipping_method_with_flat_rate), true)
|
||||
end
|
||||
end
|
||||
|
||||
factory :order_with_totals_and_distribution, :parent => :order do #possibly called :order_with_line_items in newer Spree
|
||||
distributor { create(:distributor_enterprise) }
|
||||
order_cycle { create(:simple_order_cycle) }
|
||||
|
||||
@@ -59,14 +59,13 @@ module Spree
|
||||
end
|
||||
|
||||
describe "Shipment adjustments" do
|
||||
let!(:order) { create(:order, distributor: hub, shipping_method: shipping_method) }
|
||||
let!(:shipment) { create(:shipment_with_flat_rate) }
|
||||
let!(:order) { create(:order, distributor: hub, shipments: [shipment]) }
|
||||
let(:hub) { create(:distributor_enterprise, charges_sales_tax: true) }
|
||||
let!(:line_item) { create(:line_item, order: order) }
|
||||
let(:shipping_method) { create(:shipping_method, calculator: Calculator::FlatRate.new(preferred_amount: 50.0)) }
|
||||
let(:adjustment) { order.adjustments(:reload).shipping.first }
|
||||
|
||||
it "has a shipping charge of $50" do
|
||||
order.create_shipment!
|
||||
adjustment.amount.should == 50
|
||||
end
|
||||
|
||||
@@ -74,7 +73,6 @@ module Spree
|
||||
it "records 0% tax on shipment adjustments" do
|
||||
Config.shipment_inc_vat = false
|
||||
Config.shipping_tax_rate = 0
|
||||
order.create_shipment!
|
||||
|
||||
adjustment.included_tax.should == 0
|
||||
end
|
||||
@@ -82,7 +80,6 @@ module Spree
|
||||
it "records 0% tax on shipments when a rate is set but shipment_inc_vat is false" do
|
||||
Config.shipment_inc_vat = false
|
||||
Config.shipping_tax_rate = 0.25
|
||||
order.create_shipment!
|
||||
|
||||
adjustment.included_tax.should == 0
|
||||
end
|
||||
@@ -92,7 +89,6 @@ module Spree
|
||||
before do
|
||||
Config.shipment_inc_vat = true
|
||||
Config.shipping_tax_rate = 0.25
|
||||
order.create_shipment!
|
||||
end
|
||||
|
||||
it "takes the shipment adjustment tax included from the system setting" do
|
||||
@@ -106,14 +102,12 @@ module Spree
|
||||
it "records 0% tax on shipments when shipping_tax_rate is not set" do
|
||||
Config.shipment_inc_vat = true
|
||||
Config.shipping_tax_rate = nil
|
||||
order.create_shipment!
|
||||
|
||||
adjustment.included_tax.should == 0
|
||||
end
|
||||
|
||||
it "records 0% tax on shipments when the distributor does not charge sales tax" do
|
||||
order.distributor.update_attributes! charges_sales_tax: false
|
||||
order.reload.create_shipment!
|
||||
|
||||
adjustment.included_tax.should == 0
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user