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