Sha256: 80821a7ab4ed204335031953c59b884e7f4afaacab3fdb6c15074f50cdf76dbe

Contents?: true

Size: 1.98 KB

Versions: 5

Compression:

Stored size: 1.98 KB

Contents

require 'spec_helper'

describe Errawr do
  describe 'error!' do
    it 'should raise an Errawr::Error exception' do
      Errawr.register!(:dummy_error)
      expect { Errawr.error!(:dummy_error) }.to raise_error(Errawr::Error)
    end
    
    it 'should return custom metadata values using #register!' do
      Errawr.register!(:some_error, metadata: { name: 'custom_register!_name' })
      begin
        Errawr.error!(:some_error)
      rescue => e
        e.metadata[:name].should == 'custom_register!_name'
      end
    end
    
    it 'should return custom metadata values using #error!' do
      Errawr.register!(:some_error, metadata: { name: 'custom_register!_name' })
      begin
        Errawr.error!(:some_error, metadata: { name: 'custom_error!_name' })
      rescue => e
        e.metadata[:name].should == 'custom_error!_name'
      end
    end
    
    it 'should return custom metadata values from locale file' do
      Errawr.register!(:error_hash)
      begin
        Errawr.error!(:error_hash)
      rescue => e
        e.metadata.include?(:name).should be_true
      end
    end
    
    it '#register! should override custom metadata values from locale file' do
      Errawr.register!(:error_hash, metadata: { name: 'register!_name' })
      begin
        Errawr.error!(:error_hash)
      rescue => e
        e.metadata[:name].should == 'register!_name'
      end
    end
    
    it 'should override custom metadata values from #register! and locale file' do
      Errawr.register!(:error_hash, metadata: { name: 'register!_name' })
      begin
        Errawr.error!(:error_hash, metadata: { name: 'error!_name' })
      rescue => e
        e.metadata[:name].should == 'error!_name'
      end
    end
    
    it 'should interpolate locales' do
      Errawr.register!(:interpolated_error, error_message: 'interpolated message')
      begin
        Errawr.error!(:interpolated_error)
      rescue => e
        e.message.should == 'Some error has occurred: interpolated message'
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

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