Sha256: 7336eac6385857a734c27a1bba070559e3c3a8c01a0c9c822872c5e6e730889c

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

# encoding: utf-8

describe Policy::Base::Negator do

  let(:composer) { Policy::Base::Node }
  let(:policy)   { double :policy     }

  subject { described_class.new policy, composer }

  describe "#policy" do

    it "is initialized" do
      expect(subject.policy).to eq policy
    end

  end # describe #policy

  describe "#composer" do

    it "is initialized" do
      expect(subject.composer).to eq composer
    end

  end # describe #composer

  describe "#not" do

    let(:one) { double :one }

    let(:result) { subject.not(one) }

    it "creates a composer object" do
      expect(result).to be_kind_of composer
    end

    it "sends the policy to the composer" do
      expect(result.policies).to include policy
    end

    it "sends the negated arguments to the composer" do
      not_one = double :not_one
      expect(Policy::Base::Not).to receive(:new).with(one).and_return(not_one)

      expect(result.policies).to include not_one
    end

  end # describe #not

end # describe Policy::Base::Negator

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
policy-2.0.0 spec/tests/lib/policy/base/negator_spec.rb