Sha256: 39f4dc19bb152100b4c8c917a4c09fec03a6c4aa044e51e483ea6014241e9a23

Contents?: true

Size: 1007 Bytes

Versions: 1

Compression:

Stored size: 1007 Bytes

Contents

# encoding: utf-8

describe Policy::Base::Not do

  # defines mock builders #valid_policy and #invalid_policy
  require "support/composer"

  let(:policy) { valid_policy }
  subject      { described_class.new policy }

  it "is a Node" do
    expect(subject).to be_kind_of Policy::Base::Node
  end

  describe "#policies" do

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

  end # describe #policies

  describe "#valid?" do

    context "when the policy is valid" do

      it "returns false" do
        expect(subject).not_to be_valid
      end

    end # context

    context "when the policy is invalid" do

      let(:policy) { invalid_policy }

      it "returns true" do
        expect(subject).to be_valid
      end

      it "clears previous errors" do
        subject.errors.add :base, :subject
        expect { subject.valid? }.to change { subject.errors.blank? }.to true
      end

    end # context

  end # describe #valid?

end # describe Policy::Base::Not

Version data entries

1 entries across 1 versions & 1 rubygems

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