When updating product distribution charge, skip line items that don't have a product distribution

This commit is contained in:
Rohan Mitchell
2013-08-09 15:25:50 +10:00
parent b84c476348
commit b065d7db36
2 changed files with 10 additions and 1 deletions

View File

@@ -64,7 +64,7 @@ Spree::Order.class_eval do
def update_distribution_charge!
line_items.each do |line_item|
pd = product_distribution_for line_item
pd.ensure_correct_adjustment_for line_item
pd.ensure_correct_adjustment_for line_item if pd
end
end

View File

@@ -42,6 +42,15 @@ describe Spree::Order do
subject.send(:update_distribution_charge!)
end
it "skips line items that don't have a product distribution" do
line_item = double(:line_item)
subject.stub(:line_items) { [line_item] }
subject.stub(:product_distribution_for) { nil }
subject.send(:update_distribution_charge!)
end
it "looks up product distribution enterprise fees for a line item" do
product = double(:product)
variant = double(:variant, product: product)