Sha256: 0c60c6ab9708faf68aa8550b19326cff40c8527bd1589aea1335c2efff052033

Contents?: true

Size: 1.03 KB

Versions: 5

Compression:

Stored size: 1.03 KB

Contents

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
flipper-0.28.0 spec/flipper/adapters/memory_spec.rb
flipper-0.27.1 spec/flipper/adapters/memory_spec.rb
flipper-0.27.0 spec/flipper/adapters/memory_spec.rb
flipper-0.26.2 spec/flipper/adapters/memory_spec.rb
flipper-0.26.1 spec/flipper/adapters/memory_spec.rb