spec/cache_spec.rb in split-4.0.1 vs spec/cache_spec.rb in split-4.0.2

- old
+ new

@@ -1,83 +1,79 @@ # frozen_string_literal: true -require 'spec_helper' -describe Split::Cache do +require "spec_helper" +describe Split::Cache do let(:namespace) { :test_namespace } let(:key) { :test_key } let(:now) { 1606189017 } before { allow(Time).to receive(:now).and_return(now) } - describe 'clear' do - + describe "clear" do before { Split.configuration.cache = true } - it 'clears the cache' do + it "clears the cache" do expect(Time).to receive(:now).and_return(now).exactly(2).times Split::Cache.fetch(namespace, key) { Time.now } Split::Cache.clear Split::Cache.fetch(namespace, key) { Time.now } end end - describe 'clear_key' do + describe "clear_key" do before { Split.configuration.cache = true } - it 'clears the cache' do + it "clears the cache" do expect(Time).to receive(:now).and_return(now).exactly(3).times Split::Cache.fetch(namespace, :key1) { Time.now } Split::Cache.fetch(namespace, :key2) { Time.now } Split::Cache.clear_key(:key1) Split::Cache.fetch(namespace, :key1) { Time.now } Split::Cache.fetch(namespace, :key2) { Time.now } end end - describe 'fetch' do - + describe "fetch" do subject { Split::Cache.fetch(namespace, key) { Time.now } } - context 'when cache disabled' do - + context "when cache disabled" do before { Split.configuration.cache = false } - it 'returns the yield' do + it "returns the yield" do expect(subject).to eql(now) end - it 'yields every time' do + it "yields every time" do expect(Time).to receive(:now).and_return(now).exactly(2).times Split::Cache.fetch(namespace, key) { Time.now } Split::Cache.fetch(namespace, key) { Time.now } end end - context 'when cache enabled' do - + context "when cache enabled" do before { Split.configuration.cache = true } - it 'returns the yield' do + it "returns the yield" do expect(subject).to eql(now) end - it 'yields once' do + it "yields once" do expect(Time).to receive(:now).and_return(now).once Split::Cache.fetch(namespace, key) { Time.now } Split::Cache.fetch(namespace, key) { Time.now } end - it 'honors namespace' do + it "honors namespace" do expect(Split::Cache.fetch(:a, key) { :a }).to eql(:a) expect(Split::Cache.fetch(:b, key) { :b }).to eql(:b) expect(Split::Cache.fetch(:a, key) { :a }).to eql(:a) expect(Split::Cache.fetch(:b, key) { :b }).to eql(:b) end - it 'honors key' do + it "honors key" do expect(Split::Cache.fetch(namespace, :a) { :a }).to eql(:a) expect(Split::Cache.fetch(namespace, :b) { :b }).to eql(:b) expect(Split::Cache.fetch(namespace, :a) { :a }).to eql(:a) expect(Split::Cache.fetch(namespace, :b) { :b }).to eql(:b)