Sha256: a2e69fc69d091ede487dae0430f0a9d07df0d014ce9d0a81237cead5dcd8f6f9

Contents?: true

Size: 1.23 KB

Versions: 4

Compression:

Stored size: 1.23 KB

Contents

require 'spec_helper'

describe Freddy::ErrorResponse do
  subject(:error) { described_class.new(input) }

  context 'with an error type' do
    let(:input) { { error: 'SomeError' } }

    describe '#response' do
      subject { error.response }

      it { is_expected.to eq(input) }
    end

    describe '#message' do
      subject { error.message }

      it 'uses error type as a message' do
        is_expected.to eq('SomeError')
      end
    end
  end

  context 'with an error type and message' do
    let(:input) { { error: 'SomeError', message: 'extra info' } }

    describe '#response' do
      subject { error.response }

      it { is_expected.to eq(input) }
    end

    describe '#message' do
      subject { error.message }

      it 'uses error type as a message' do
        is_expected.to eq('SomeError: extra info')
      end
    end
  end

  context 'without an error type' do
    let(:input) { { something: 'else' } }

    describe '#response' do
      subject { error.response }

      it { is_expected.to eq(input) }
    end

    describe '#message' do
      subject { error.message }

      it 'uses default error message as a message' do
        is_expected.to eq('Use #response to get the error response')
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
freddy-1.7.0 spec/freddy/error_response_spec.rb
freddy-1.6.0 spec/freddy/error_response_spec.rb
freddy-1.5.0 spec/freddy/error_response_spec.rb
freddy-1.4.2 spec/freddy/error_response_spec.rb