diff --git a/app/services/line_item_syncer.rb b/app/services/line_item_syncer.rb index bd43827e29..5c304557e7 100644 --- a/app/services/line_item_syncer.rb +++ b/app/services/line_item_syncer.rb @@ -35,8 +35,8 @@ class LineItemSyncer skip_stock_check: skip_stock_check?(order)) next if skip_stock_check?(order) || new_line_item.sufficient_stock? + order.line_items.delete(new_line_item) add_order_update_issue(order, new_line_item) - new_line_item.update_attributes(quantity: 0) end end diff --git a/spec/services/order_syncer_spec.rb b/spec/services/order_syncer_spec.rb index 67d7937467..10c8020162 100644 --- a/spec/services/order_syncer_spec.rb +++ b/spec/services/order_syncer_spec.rb @@ -510,7 +510,7 @@ describe OrderSyncer do expect(syncer.sync!).to be true line_items = Spree::LineItem.where(order_id: subscription.orders, variant_id: variant.id) - expect(line_items.map(&:quantity)).to eq [0] + expect(line_items.map(&:quantity)).to eq [] expect(order.reload.total.to_f).to eq 59.97 expect(syncer.order_update_issues[order.id]).to include "#{variant.product.name} - #{variant.full_name} - Insufficient stock available" end