2015-07-07 12:52:19 +08:00
|
|
|
shared_examples_for 'stats cachable' do
|
|
|
|
describe 'fetch_cached_stats' do
|
2016-04-21 14:45:16 +08:00
|
|
|
after do
|
2016-05-18 10:42:40 +08:00
|
|
|
$redis.del(described_class.stats_cache_key)
|
2016-04-21 14:45:16 +08:00
|
|
|
end
|
|
|
|
|
2015-07-07 12:52:19 +08:00
|
|
|
it 'returns the cached stats' do
|
2016-04-21 14:45:16 +08:00
|
|
|
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))
|
2015-07-07 12:52:19 +08:00
|
|
|
end
|
|
|
|
|
2016-04-21 14:45:16 +08:00
|
|
|
it 'returns fetches the stats if stats has not been cached' do
|
2017-07-24 09:17:42 -04:00
|
|
|
freeze_time
|
|
|
|
|
|
|
|
$redis.del(described_class.stats_cache_key)
|
|
|
|
expect(described_class.fetch_cached_stats).to eq(JSON.parse(described_class.fetch_stats.to_json))
|
2015-07-07 12:52:19 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe 'fetch_stats' do
|
2016-04-21 14:45:16 +08:00
|
|
|
it 'has not been implemented' do
|
2017-07-28 10:20:09 +09:00
|
|
|
expect { described_class.fetch_stats }.to_not raise_error
|
2015-07-07 12:52:19 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|