Sha256: fc078326d7726224b6b0951062df5c1ba148deeb25b7059387e9d0c698b7bae0

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

# encoding: utf-8

describe Attestor::InvalidError do

  let(:object) { double :object }
  subject      { described_class.new object }

  describe ".new" do

    it "creates a RuntimeError" do
      expect(subject).to be_kind_of RuntimeError
    end

    it "creates immutable object" do
      expect(subject).to be_frozen
    end

    it "doesn't freeze object" do
      subject
      expect(object).not_to be_frozen
    end

    it "doesn't freeze messages" do
      messages = %i(foo bar)
      described_class.new object, messages

      expect(messages).not_to be_frozen
    end

  end # describe .new

  describe "#object" do

    it "is initialized" do
      expect(subject.object).to be_eql object
    end

  end # describe #object

  describe "#messages" do

    it "returns an empty array" do
      expect(subject.messages).to eq []
    end

    it "can be initialized" do
      subject = described_class.new(object, %w(cad cam))
      expect(subject.messages).to eq %w(cad cam)
    end

    it "is immutable" do
      expect(subject.messages).to be_frozen
    end

  end # describe #messages

end # describe Attestor::ValidError

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
attestor-0.2.0 spec/tests/invalid_error_spec.rb
attestor-0.1.0 spec/tests/invalid_error_spec.rb
attestor-0.0.1 spec/tests/invalid_error_spec.rb