trabajo-afectivo/spec/models/application_model/can_latest_change_examples.rb
2022-01-01 14:38:12 +01:00

34 lines
1 KiB
Ruby

# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
RSpec.shared_examples 'ApplicationModel::CanLatestChange' do
subject { create(described_class.name.underscore) }
describe '#latest_change' do
describe 'caching updated_at' do
context 'with empty cache' do
it 'stores updated_at in the cache and returns it' do
expect(subject.updated_at).to eq(described_class.latest_change)
end
end
context 'with valid cache' do
before { described_class.latest_change_set(subject.updated_at) }
it 'return updated_at from cache' do
expect(subject.updated_at).to eq(described_class.latest_change)
end
end
context 'delete valid cache' do
before do
subject.touch
described_class.latest_change_set(nil)
end
it 'stores new updated_at in the cache and returns it' do
expect(subject.updated_at).to eq(described_class.latest_change)
end
end
end
end
end