diff --git a/app/models/spree/shipping_method.rb b/app/models/spree/shipping_method.rb index d3ed72edc3..fd7b1e4415 100644 --- a/app/models/spree/shipping_method.rb +++ b/app/models/spree/shipping_method.rb @@ -5,6 +5,7 @@ module Spree include Spree::Core::CalculatedAdjustments DISPLAY = [:both, :front_end, :back_end].freeze + acts_as_paranoid acts_as_taggable default_scope -> { where(deleted_at: nil) } diff --git a/spec/models/spree/shipping_method_spec.rb b/spec/models/spree/shipping_method_spec.rb index b69e4f5fb4..35ecfa6d83 100644 --- a/spec/models/spree/shipping_method_spec.rb +++ b/spec/models/spree/shipping_method_spec.rb @@ -159,6 +159,16 @@ module Spree end end + # Regression test for Spree #4320 + context "soft deletion" do + let(:shipping_method) { create(:shipping_method) } + + it "soft-deletes when destroy is called" do + shipping_method.destroy + expect(shipping_method.deleted_at).to_not be_blank + end + end + context 'factory' do let(:shipping_method){ create :shipping_method }