FIX: Fetch stats if it has not been cached.
This commit is contained in:
@@ -1,22 +1,25 @@
|
||||
shared_examples_for 'stats cachable' do
|
||||
describe 'fetch_cached_stats' do
|
||||
it 'returns the cached stats' do
|
||||
begin
|
||||
stats = { "visits" => 10 }
|
||||
$redis.set(described_class.stats_cache_key, stats.to_json)
|
||||
expect(described_class.fetch_cached_stats).to eq(stats)
|
||||
ensure
|
||||
$redis.del(described_class.stats_cache_key)
|
||||
end
|
||||
after do
|
||||
$redis.flushall
|
||||
end
|
||||
|
||||
it 'returns nil if no stats has been cached' do
|
||||
expect(described_class.fetch_cached_stats).to eq(nil)
|
||||
it 'returns the cached stats' do
|
||||
stats = described_class.fetch_stats.to_json
|
||||
$redis.set(described_class.stats_cache_key, stats)
|
||||
expect(described_class.fetch_cached_stats).to eq(JSON.parse(stats))
|
||||
end
|
||||
|
||||
it 'returns fetches the stats if stats has not been cached' do
|
||||
Timecop.freeze do
|
||||
$redis.del(described_class.stats_cache_key)
|
||||
expect(described_class.fetch_cached_stats).to eq(JSON.parse(described_class.fetch_stats.to_json))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'fetch_stats' do
|
||||
it 'has been implemented' do
|
||||
it 'has not been implemented' do
|
||||
expect{ described_class.fetch_stats }.to_not raise_error
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user