From aa718824d8454bd63d58e709b7957d56172dfcd1 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Sat, 7 Nov 2020 20:44:51 +0000 Subject: [PATCH] Fix touch spec The behavior in #change blocks ironically seems to have changed --- spec/models/enterprise_caching_spec.rb | 62 ++++++++++++++++++++------ 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/spec/models/enterprise_caching_spec.rb b/spec/models/enterprise_caching_spec.rb index 6160481c91..8cec4d5822 100644 --- a/spec/models/enterprise_caching_spec.rb +++ b/spec/models/enterprise_caching_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe Enterprise do context "key-based caching invalidation" do describe "is touched when a(n)" do - let(:enterprise) { create(:distributor_enterprise, updated_at: 1.week.ago) } + let(:enterprise) { create(:distributor_enterprise, updated_at: Time.zone.now - 1.week) } let(:taxon) { create(:taxon) } let(:supplier2) { create(:supplier_enterprise) } @@ -14,26 +14,37 @@ describe Enterprise do let(:producer_property) { enterprise.producer_properties.last } before do + pp enterprise.updated_at product.set_property 'Organic', 'NASAA 12345' enterprise.set_producer_property 'Biodynamic', 'ASDF 4321' end it "touches enterprise when a classification on that product changes" do - expect { classification.save! }.to change { enterprise.updated_at } + expect { + classification.save! + enterprise.reload + }.to change { enterprise.updated_at } end it "touches enterprise when a property on that product changes" do - expect { property.save! }.to change { enterprise.reload.updated_at } + expect { + property.save! + enterprise.reload + }.to change { enterprise.updated_at } end it "touches enterprise when a producer property on that product changes" do - expect { producer_property.save! }.to change { enterprise.reload.updated_at } + expect { + producer_property.save! + enterprise.reload + }.to change { enterprise.updated_at } end it "touches enterprise when the supplier of a product changes" do expect { product.update!(supplier: supplier2) - }.to change { enterprise.reload.updated_at } + enterprise.reload + }.to change { enterprise.updated_at } end end @@ -54,26 +65,39 @@ describe Enterprise do before { oc } it "touches enterprise when a classification on that product changes" do - expect { classification.save! }.to change { enterprise.reload.updated_at } + expect { + classification.save! + enterprise.reload + }.to change { enterprise.updated_at } end it "touches enterprise when a property on that product changes" do - expect { property.save! }.to change { enterprise.reload.updated_at } + expect { + property.save! + enterprise.reload + }.to change { enterprise.updated_at } end it "touches enterprise when a producer property on that product changes" do - expect { producer_property.save! }.to change { enterprise.reload.updated_at } + expect { + producer_property.save! + enterprise.reload + }.to change { enterprise.updated_at } end it "touches enterprise when the supplier of a product changes" do expect { product.update!(supplier: supplier2) - }.to change { enterprise.reload.updated_at } + enterprise.reload + }.to change { enterprise.updated_at } end end it "touches enterprise when the product's variant is added to order cycle" do - expect { oc }.to change { enterprise.reload.updated_at } + expect { + oc + enterprise.reload + }.to change { enterprise.updated_at } end end @@ -82,7 +106,10 @@ describe Enterprise do let!(:er) { create(:enterprise_relationship, parent: enterprise, child: child_enterprise) } it "touches enterprise when enterprise relationship is updated" do - expect { er.save! }.to change { enterprise.reload.updated_at } + expect { + er.save! + enterprise.reload + }.to change { enterprise.updated_at } end end @@ -96,16 +123,23 @@ describe Enterprise do it "touches enterprise when distributor_shipping_method is updated" do expect { enterprise.distributor_shipping_methods.first.save! - }.to change { enterprise.reload.updated_at } + enterprise.reload + }.to change { enterprise.updated_at } end it "touches enterprise when shipping method is updated" do - expect { sm.save! }.to change { enterprise.reload.updated_at } + expect { + sm.save! + enterprise.reload + }.to change { enterprise.updated_at } end end it "touches enterprise when address is updated" do - expect{ enterprise.address.save! }.to change { enterprise.reload.updated_at } + expect { + enterprise.address.save! + enterprise.reload + }.to change { enterprise.updated_at } end end end