spec/flipper/adapters/memoizable_spec.rb in flipper-1.0.0 vs spec/flipper/adapters/memoizable_spec.rb in flipper-1.1.0
- old
+ new
@@ -1,10 +1,10 @@
require 'flipper/adapters/memoizable'
require 'flipper/adapters/operation_logger'
RSpec.describe Flipper::Adapters::Memoizable do
- let(:features_key) { described_class::FeaturesKey }
+ let(:features_key) { :flipper_features }
let(:adapter) { Flipper::Adapters::Memory.new }
let(:flipper) { Flipper.new(adapter) }
let(:cache) { {} }
subject { described_class.new(adapter, cache) }
@@ -52,11 +52,11 @@
end
it 'memoizes feature' do
feature = flipper[:stats]
result = subject.get(feature)
- expect(cache[described_class.key_for(feature.key)]).to be(result)
+ expect(cache["feature/#{feature.key}"]).to be(result)
end
end
context 'with memoization disabled' do
before do
@@ -81,12 +81,12 @@
it 'memoizes features' do
names = %i(stats shiny)
features = names.map { |name| flipper[name] }
results = subject.get_multi(features)
features.each do |feature|
- expect(cache[described_class.key_for(feature.key)]).not_to be(nil)
- expect(cache[described_class.key_for(feature.key)]).to be(results[feature.key])
+ expect(cache["feature/#{feature.key}"]).not_to be(nil)
+ expect(cache["feature/#{feature.key}"]).to be(results[feature.key])
end
end
end
context 'with memoization disabled' do
@@ -113,14 +113,14 @@
it 'memoizes features' do
names = %i(stats shiny)
features = names.map { |name| flipper[name].tap(&:enable) }
results = subject.get_all
features.each do |feature|
- expect(cache[described_class.key_for(feature.key)]).not_to be(nil)
- expect(cache[described_class.key_for(feature.key)]).to be(results[feature.key])
+ expect(cache["feature/#{feature.key}"]).not_to be(nil)
+ expect(cache["feature/#{feature.key}"]).to be(results[feature.key])
end
- expect(cache[subject.class::FeaturesKey]).to eq(names.map(&:to_s).to_set)
+ expect(cache[:flipper_features]).to eq(names.map(&:to_s).to_set)
end
it 'only calls get_all once for memoized adapter' do
adapter = Flipper::Adapters::OperationLogger.new(Flipper::Adapters::Memory.new)
cache = {}
@@ -186,13 +186,13 @@
end
it 'unmemoizes feature' do
feature = flipper[:stats]
gate = feature.gate(:boolean)
- cache[described_class.key_for(feature.key)] = { some: 'thing' }
+ cache["feature/#{feature.key}"] = { some: 'thing' }
subject.enable(feature, gate, Flipper::Types::Boolean.new)
- expect(cache[described_class.key_for(feature.key)]).to be_nil
+ expect(cache["feature/#{feature.key}"]).to be_nil
end
end
context 'with memoization disabled' do
before do
@@ -216,13 +216,13 @@
end
it 'unmemoizes feature' do
feature = flipper[:stats]
gate = feature.gate(:boolean)
- cache[described_class.key_for(feature.key)] = { some: 'thing' }
+ cache["feature/#{feature.key}"] = { some: 'thing' }
subject.disable(feature, gate, Flipper::Types::Boolean.new)
- expect(cache[described_class.key_for(feature.key)]).to be_nil
+ expect(cache["feature/#{feature.key}"]).to be_nil
end
end
context 'with memoization disabled' do
before do
@@ -330,13 +330,13 @@
expect(cache).to be_empty
end
it 'unmemoizes the feature' do
feature = flipper[:stats]
- cache[described_class.key_for(feature.key)] = { some: 'thing' }
+ cache["feature/#{feature.key}"] = { some: 'thing' }
subject.remove(feature)
- expect(cache[described_class.key_for(feature.key)]).to be_nil
+ expect(cache["feature/#{feature.key}"]).to be_nil
end
end
context 'with memoization disabled' do
before do
@@ -355,12 +355,12 @@
subject.memoize = true
end
it 'unmemoizes feature' do
feature = flipper[:stats]
- cache[described_class.key_for(feature.key)] = { some: 'thing' }
+ cache["feature/#{feature.key}"] = { some: 'thing' }
subject.clear(feature)
- expect(cache[described_class.key_for(feature.key)]).to be_nil
+ expect(cache["feature/#{feature.key}"]).to be_nil
end
end
context 'with memoization disabled' do
before do