Sha256: bdd51d6ae6c05c42560ff6943df35d87bd485fac020cb67f5cba868db59c4566

Contents?: true

Size: 1.1 KB

Versions: 5

Compression:

Stored size: 1.1 KB

Contents

require 'spec_helper'

describe Errawr::Mapper do
  it 'should automatically register an unknown error' do
    Errawr::Mapper.all[:unknown].should_not be_nil
  end
  
  describe '[]' do
    it 'should return stored errors' do
      Errawr::Mapper[:unknown].should_not be_nil
    end
  end
  
  describe 'add' do
    it 'should add an error to stored errors' do
      Errawr::Mapper.add(DummyError.new)
      Errawr::Mapper[:dummy_key].should_not be_nil
    end
  end
  
  describe 'register!' do
    it 'should throw an error if base class is not a subclass of Errawr::Error' do
      expect { Errawr.register!(:dummy_error, base_class: StandardError) }.to raise_error(ArgumentError)
    end
    
    it 'should add an error to stored errors' do
      Errawr.register!(:dummy_error)
      Errawr::Mapper[:dummy_error].should_not be_nil
    end
    
    it 'should not add :metadata options to context' do
      Errawr.register!(:dummy_error, metadata: { name: :same_dummy_error })
      begin
        Errawr.error!(:dummy_error)
      rescue => e
        e.metadata.include?(:error).should be_false
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
errawr-1.1.4 spec/mapper_spec.rb
errawr-1.1.3 spec/mapper_spec.rb
errawr-1.1.2 spec/mapper_spec.rb
errawr-1.1.1 spec/mapper_spec.rb
errawr-1.1.0 spec/mapper_spec.rb