spec/flipper/adapters/memoizable_spec.rb in flipper-0.11.0.beta3 vs spec/flipper/adapters/memoizable_spec.rb in flipper-0.11.0.beta4
- old
+ new
@@ -88,11 +88,11 @@
context 'with memoization enabled' do
before do
subject.memoize = true
end
- it 'memoizes feature' do
+ 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[feature.key]).not_to be(nil)
@@ -109,9 +109,42 @@
it 'returns result' do
names = %i(stats shiny)
features = names.map { |name| flipper[name] }
result = subject.get_multi(features)
adapter_result = adapter.get_multi(features)
+ expect(result).to eq(adapter_result)
+ end
+ end
+ end
+
+ describe '#get_all' do
+ context "with memoization enabled" do
+ before do
+ subject.memoize = true
+ end
+
+ 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[feature.key]).not_to be(nil)
+ expect(cache[feature.key]).to be(results[feature.key])
+ end
+ expect(cache[subject.class::FeaturesKey]).to eq(names.map(&:to_s).to_set)
+ end
+ end
+
+ context "with memoization disabled" do
+ before do
+ subject.memoize = false
+ end
+
+ it 'returns result' do
+ names = %i(stats shiny)
+ names.map { |name| flipper[name].tap(&:enable) }
+ result = subject.get_all
+ adapter_result = adapter.get_all
expect(result).to eq(adapter_result)
end
end
end