Commit 13f68f55 authored by Matija Čupić's avatar Matija Čupić

Expect calls to read_attribute depending on cache presence

parent f4810647
...@@ -51,12 +51,16 @@ describe RedisCacheable do ...@@ -51,12 +51,16 @@ describe RedisCacheable do
context 'when there is no cached value' do context 'when there is no cached value' do
it 'reads the attribute' do it 'reads the attribute' do
expect(instance).to receive(:read_attribute).and_call_original
expect(subject).to eq(payload[:name]) expect(subject).to eq(payload[:name])
end end
end end
context 'when there is a cached value' do context 'when there is a cached value' do
it 'reads the cached value' do it 'reads the cached value' do
expect(instance).not_to receive(:read_attribute)
instance.cache_attributes(payload) instance.cache_attributes(payload)
expect(subject).to eq(payload[:name]) expect(subject).to eq(payload[:name])
...@@ -81,6 +85,8 @@ describe RedisCacheable do ...@@ -81,6 +85,8 @@ describe RedisCacheable do
context 'when there is no cached value' do context 'when there is no cached value' do
it 'reads the attribute' 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_instance_of(ActiveSupport::TimeWithZone)
expect(subject).to be_within(1.minute).of(Time.zone.now) expect(subject).to be_within(1.minute).of(Time.zone.now)
end end
...@@ -88,6 +94,8 @@ describe RedisCacheable do ...@@ -88,6 +94,8 @@ describe RedisCacheable do
context 'when there is a cached value' do context 'when there is a cached value' do
it 'reads the cached value' do it 'reads the cached value' do
expect(instance).not_to receive(:read_attribute)
instance.cache_attributes(time: Time.zone.now) instance.cache_attributes(time: Time.zone.now)
expect(subject).to be_instance_of(ActiveSupport::TimeWithZone) expect(subject).to be_instance_of(ActiveSupport::TimeWithZone)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment