Sha256: 82c77229ba32f971ac82a226681e7cfae55a390dd0cffcd73b38979d7bd0eb80

Contents?: true

Size: 1.22 KB

Versions: 9

Compression:

Stored size: 1.22 KB

Contents

require "spec_helper"

describe Flip::DeclarationStrategy do

  def definition(default)
    Flip::Definition.new :feature, default: default
  end

  describe "#knows?" do
    it "does not know definition with no default specified" do
      subject.knows?(Flip::Definition.new :feature).should be_false
    end
    it "does not know definition with default of nil" do
      subject.knows?(definition(nil)).should be_false
    end
    it "knows definition with default set to true" do
      subject.knows?(definition(true)).should be_true
    end
    it "knows definition with default set to false" do
      subject.knows?(definition(false)).should be_true
    end
  end

  describe "#on? for Flip::Definition" do
    subject { Flip::DeclarationStrategy.new.on? definition(default) }
    [
      { default: true, result: true },
      { default: false, result: false },
      { default: proc { true }, result: true, name: "proc returning true" },
      { default: proc { false }, result: false, name: "proc returning false" },
    ].each do |parameters|
      context "with default of #{parameters[:name] || parameters[:default]}" do
        let(:default) { parameters[:default] }
        it { should == parameters[:result] }
      end
    end
  end

end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
flip-1.0.1 spec/declaration_strategy_spec.rb
flip-1.0.0 spec/declaration_strategy_spec.rb
flip-0.2.1 spec/declaration_strategy_spec.rb
flip-0.2.0 spec/declaration_strategy_spec.rb
flip_fork-0.2.0 spec/declaration_strategy_spec.rb
flip_fork-0.1.1 spec/declaration_strategy_spec.rb
flip_fork-0.1.0 spec/declaration_strategy_spec.rb
flip-0.1.0 spec/declaration_strategy_spec.rb
flip-0.0.4 spec/declaration_strategy_spec.rb