Sha256: 94e984fbf27fb23ebb931265ba2ec055be3e4f46edf46a32170f2b2602f8f85f
Contents?: true
Size: 1.57 KB
Versions: 3
Compression:
Stored size: 1.57 KB
Contents
require 'helper' RSpec.describe Flipper::Gates::Group do let(:feature_name) { :search } subject { described_class.new } def context(set) Flipper::FeatureCheckContext.new( feature_name: feature_name, values: Flipper::GateValues.new({groups: set}), thing: Flipper::Types::Actor.new(Struct.new(:flipper_id).new("5")), ) end describe "#open?" do context "with a group in adapter, but not registered" do before do Flipper.register(:staff) { |thing| true } end it "ignores group" do thing = Struct.new(:flipper_id).new('5') expect(subject.open?(context(Set[:newbs, :staff]))).to be(true) end end context "thing that does not respond to method in group block" do before do Flipper.register(:stinkers) { |thing| thing.stinker? } end it "raises error" do expect { subject.open?(context(Set[:stinkers])) }.to raise_error(NoMethodError) end end end describe "#wrap" do it "returns group instance for symbol" do group = Flipper.register(:admins) {} expect(subject.wrap(:admins)).to eq(group) end it "returns group instance for group instance" do group = Flipper.register(:admins) {} expect(subject.wrap(group)).to eq(group) end end describe "#protects?" do it "returns true for group" do group = Flipper.register(:admins) {} expect(subject.protects?(group)).to be(true) end it "returns true for symbol" do expect(subject.protects?(:admins)).to be(true) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
flipper-0.10.2 | spec/flipper/gates/group_spec.rb |
flipper-0.10.1 | spec/flipper/gates/group_spec.rb |
flipper-0.10.0 | spec/flipper/gates/group_spec.rb |