From 0d03cdf8159ed0e68c122a3a4b08769fccfacdb8 Mon Sep 17 00:00:00 2001 From: Anthony Musyoki <445103+anthonyms@users.noreply.github.com> Date: Tue, 23 Apr 2024 12:47:38 +0300 Subject: [PATCH] Fix Rubocop: Delete dependent stock_movements --- .rubocop_todo.yml | 11 ----------- app/models/spree/stock_item.rb | 2 +- app/models/spree/stock_movement.rb | 4 ---- spec/models/spree/stock_item_spec.rb | 6 +----- spec/models/spree/stock_movement_spec.rb | 7 ------- 5 files changed, 2 insertions(+), 28 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 3092909883..4f407763c9 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -565,17 +565,6 @@ RSpecRails/InferredSpecType: - 'spec/requests/voucher_adjustments_spec.rb' - 'spec/routing/stripe_spec.rb' -# Offense count: 11 -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/HasManyOrHasOneDependent: - Exclude: - - 'app/models/enterprise.rb' - - 'app/models/spree/address.rb' - - 'app/models/spree/stock_item.rb' - - 'app/models/spree/tax_rate.rb' - - 'app/models/spree/variant.rb' - # Offense count: 22 # Configuration parameters: IgnoreScopes, Include. # Include: app/models/**/*.rb diff --git a/app/models/spree/stock_item.rb b/app/models/spree/stock_item.rb index 6ac038beb6..565a165e6f 100644 --- a/app/models/spree/stock_item.rb +++ b/app/models/spree/stock_item.rb @@ -8,7 +8,7 @@ module Spree belongs_to :stock_location, class_name: 'Spree::StockLocation', inverse_of: :stock_items belongs_to :variant, -> { with_deleted }, class_name: 'Spree::Variant' - has_many :stock_movements, dependent: nil + has_many :stock_movements, dependent: :destroy validates :stock_location, :variant, presence: true validates :variant_id, uniqueness: { scope: [:stock_location_id, :deleted_at] } diff --git a/app/models/spree/stock_movement.rb b/app/models/spree/stock_movement.rb index 1cf432df5c..02352588e2 100644 --- a/app/models/spree/stock_movement.rb +++ b/app/models/spree/stock_movement.rb @@ -14,10 +14,6 @@ module Spree scope :recent, -> { order('created_at DESC') } - def readonly? - !new_record? - end - private def update_stock_item_quantity diff --git a/spec/models/spree/stock_item_spec.rb b/spec/models/spree/stock_item_spec.rb index 2cf29f9918..c3f94ef71a 100644 --- a/spec/models/spree/stock_item_spec.rb +++ b/spec/models/spree/stock_item_spec.rb @@ -109,12 +109,8 @@ RSpec.describe Spree::StockItem do context "with stock movements" do before { Spree::StockMovement.create(stock_item: subject, quantity: 1) } - it "doesnt raise ReadOnlyRecord error" do - expect { subject.destroy }.not_to raise_error - end - it "does not destroy stock_movements when destroyed" do - expect { subject.destroy }.not_to change { Spree::StockMovement.count } + expect { subject.destroy }.to change { Spree::StockMovement.count }.by(-1) end end end diff --git a/spec/models/spree/stock_movement_spec.rb b/spec/models/spree/stock_movement_spec.rb index 95f0ea5564..251ed56e5c 100644 --- a/spec/models/spree/stock_movement_spec.rb +++ b/spec/models/spree/stock_movement_spec.rb @@ -11,13 +11,6 @@ describe Spree::StockMovement do expect(subject).to respond_to(:stock_item) end - it 'is readonly unless new' do - subject.save - expect { - subject.save - }.to raise_error(ActiveRecord::ReadOnlyRecord) - end - context "when quantity is negative" do context "after save" do it "should decrement the stock item count on hand" do