From 1b18808d2164b0163ade47273849c9508d13d82c Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Wed, 22 Apr 2020 22:44:02 +0200 Subject: [PATCH] Touch ShippingMethod when it's assigned to a new distributor --- app/models/distributor_shipping_method.rb | 2 +- spec/models/spree/shipping_method_spec.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/models/distributor_shipping_method.rb b/app/models/distributor_shipping_method.rb index 5c69d18084..a2c81506dd 100644 --- a/app/models/distributor_shipping_method.rb +++ b/app/models/distributor_shipping_method.rb @@ -1,5 +1,5 @@ class DistributorShippingMethod < ActiveRecord::Base self.table_name = "distributors_shipping_methods" - belongs_to :shipping_method, class_name: Spree::ShippingMethod + belongs_to :shipping_method, class_name: Spree::ShippingMethod, touch: true belongs_to :distributor, class_name: Enterprise, touch: true end diff --git a/spec/models/spree/shipping_method_spec.rb b/spec/models/spree/shipping_method_spec.rb index 7bbc506a0f..94501eaa4e 100644 --- a/spec/models/spree/shipping_method_spec.rb +++ b/spec/models/spree/shipping_method_spec.rb @@ -109,5 +109,15 @@ module Spree expect(shipping_method.include?(address)).to be true end end + + describe "touches" do + let!(:distributor) { create(:distributor_enterprise) } + let!(:shipping_method) { create(:shipping_method) } + let(:add_distributor) { shipping_method.distributors << distributor } + + it "is touched when applied to a distributor" do + expect{ add_distributor }.to change { shipping_method.reload.updated_at} + end + end end end