mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
When removing variant from order, if not found then do nothing
This commit is contained in:
@@ -99,7 +99,7 @@ Spree::Order.class_eval do
|
||||
def remove_variant(variant)
|
||||
line_items(:reload)
|
||||
current_item = find_line_item_by_variant(variant)
|
||||
current_item.destroy
|
||||
current_item.andand.destroy
|
||||
end
|
||||
|
||||
|
||||
|
||||
@@ -366,6 +366,7 @@ describe Spree::Order do
|
||||
let(:order) { create(:order) }
|
||||
let(:v1) { create(:variant) }
|
||||
let(:v2) { create(:variant) }
|
||||
let(:v3) { create(:variant) }
|
||||
|
||||
before do
|
||||
order.add_variant v1
|
||||
@@ -376,6 +377,12 @@ describe Spree::Order do
|
||||
order.remove_variant v1
|
||||
order.line_items(:reload).map(&:variant).should == [v2]
|
||||
end
|
||||
|
||||
it "does nothing when there is no matching line item" do
|
||||
expect do
|
||||
order.remove_variant v3
|
||||
end.to change(order.line_items(:reload), :count).by(0)
|
||||
end
|
||||
end
|
||||
|
||||
describe "emptying the order" do
|
||||
|
||||
Reference in New Issue
Block a user