From c0c7c4f440098ab434123812e376551a5843be90 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Wed, 6 Jan 2021 20:12:52 +0000 Subject: [PATCH 1/2] Import failing specs for stock items See: https://github.com/spree/spree/commit/dcd5944a2910b8096edd684e3a15e193b0773be9 --- spec/models/spree/product_spec.rb | 11 +++++++++++ spec/models/spree/stock_item_spec.rb | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/spec/models/spree/product_spec.rb b/spec/models/spree/product_spec.rb index ee59d0c625..a5b7db26dc 100644 --- a/spec/models/spree/product_spec.rb +++ b/spec/models/spree/product_spec.rb @@ -235,6 +235,17 @@ module Spree end end + context "has stock movements" do + let(:product) { create(:product) } + let(:variant) { product.master } + let(:stock_item) { variant.stock_items.first } + + xit "doesnt raise ReadOnlyRecord error" do + Spree::StockMovement.create!(stock_item: stock_item, quantity: 1) + expect { product.destroy }.not_to raise_error + end + end + describe "associations" do it { is_expected.to belong_to(:supplier) } it { is_expected.to belong_to(:primary_taxon) } diff --git a/spec/models/spree/stock_item_spec.rb b/spec/models/spree/stock_item_spec.rb index 9c9b233986..2b628d1b09 100644 --- a/spec/models/spree/stock_item_spec.rb +++ b/spec/models/spree/stock_item_spec.rb @@ -102,5 +102,13 @@ RSpec.describe Spree::StockItem do end end end + + context "with stock movements" do + before { Spree::StockMovement.create(stock_item: subject, quantity: 1) } + + xit "doesnt raise ReadOnlyRecord error" do + expect { subject.destroy }.not_to raise_error + end + end end end From cca16c6e1f8909e918badf6ba8f960b4827482f4 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Wed, 6 Jan 2021 20:13:38 +0000 Subject: [PATCH 2/2] Fix stock issue and update specs (now passing) See: https://github.com/spree/spree/commit/dcd5944a2910b8096edd684e3a15e193b0773be9 --- app/models/spree/stock_item.rb | 2 +- spec/models/spree/product_spec.rb | 2 +- spec/models/spree/stock_item_spec.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/spree/stock_item.rb b/app/models/spree/stock_item.rb index e6df19b03a..b59e2dc6dc 100644 --- a/app/models/spree/stock_item.rb +++ b/app/models/spree/stock_item.rb @@ -6,7 +6,7 @@ module Spree belongs_to :stock_location, class_name: 'Spree::StockLocation' belongs_to :variant, class_name: 'Spree::Variant' - has_many :stock_movements, dependent: :destroy + has_many :stock_movements validates :stock_location, :variant, presence: true validates :variant_id, uniqueness: { scope: [:stock_location_id, :deleted_at] } diff --git a/spec/models/spree/product_spec.rb b/spec/models/spree/product_spec.rb index a5b7db26dc..a05d15a82d 100644 --- a/spec/models/spree/product_spec.rb +++ b/spec/models/spree/product_spec.rb @@ -240,7 +240,7 @@ module Spree let(:variant) { product.master } let(:stock_item) { variant.stock_items.first } - xit "doesnt raise ReadOnlyRecord error" do + it "doesnt raise ReadOnlyRecord error" do Spree::StockMovement.create!(stock_item: stock_item, quantity: 1) expect { product.destroy }.not_to raise_error end diff --git a/spec/models/spree/stock_item_spec.rb b/spec/models/spree/stock_item_spec.rb index 2b628d1b09..05060c182b 100644 --- a/spec/models/spree/stock_item_spec.rb +++ b/spec/models/spree/stock_item_spec.rb @@ -106,7 +106,7 @@ RSpec.describe Spree::StockItem do context "with stock movements" do before { Spree::StockMovement.create(stock_item: subject, quantity: 1) } - xit "doesnt raise ReadOnlyRecord error" do + it "doesnt raise ReadOnlyRecord error" do expect { subject.destroy }.not_to raise_error end end