From 13f68f55b31847fc8fab03ce3aadf92c930dd531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 14 May 2018 15:54:23 +0200 Subject: [PATCH] Expect calls to read_attribute depending on cache presence --- spec/models/concerns/redis_cacheable_spec.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/spec/models/concerns/redis_cacheable_spec.rb b/spec/models/concerns/redis_cacheable_spec.rb index 06d194008c1..bd5319a0c8c 100644 --- a/spec/models/concerns/redis_cacheable_spec.rb +++ b/spec/models/concerns/redis_cacheable_spec.rb @@ -51,12 +51,16 @@ describe RedisCacheable do context 'when there is no cached value' do it 'reads the attribute' do + expect(instance).to receive(:read_attribute).and_call_original + expect(subject).to eq(payload[:name]) end end context 'when there is a cached value' do it 'reads the cached value' do + expect(instance).not_to receive(:read_attribute) + instance.cache_attributes(payload) expect(subject).to eq(payload[:name]) @@ -81,6 +85,8 @@ describe RedisCacheable do context 'when there is no cached value' do it 'reads the attribute' do + expect(instance).to receive(:read_attribute).and_call_original + expect(subject).to be_instance_of(ActiveSupport::TimeWithZone) expect(subject).to be_within(1.minute).of(Time.zone.now) end @@ -88,6 +94,8 @@ describe RedisCacheable do context 'when there is a cached value' do it 'reads the cached value' do + expect(instance).not_to receive(:read_attribute) + instance.cache_attributes(time: Time.zone.now) expect(subject).to be_instance_of(ActiveSupport::TimeWithZone) -- GitLab