1234567891011121314151617181920212223242526272829303132 |
- 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
|