1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
RSpec.describe Flipper::Adapters::Memory do
let(:source) { {} }
subject { described_class.new(source) }
it_should_behave_like 'a flipper adapter'
it "can initialize from big hash" do
flipper = Flipper.new(subject)
flipper.enable :subscriptions
flipper.disable :search
flipper.enable_percentage_of_actors :pro_deal, 20
flipper.enable_percentage_of_time :logging, 30
flipper.enable_actor :following, Flipper::Actor.new('1')
flipper.enable_actor :following, Flipper::Actor.new('3')
flipper.enable_group :following, Flipper::Types::Group.new(:staff)
dup = described_class.new(subject.get_all)
expect(dup.get_all).to eq({
"subscriptions" => subject.default_config.merge(boolean: "true"),
"search" => subject.default_config,
"logging" => subject.default_config.merge(:percentage_of_time => "30"),
"pro_deal" => subject.default_config.merge(:percentage_of_actors => "20"),
"following" => subject.default_config.merge(actors: Set["1", "3"], groups: Set["staff"]),
})
end
end
|