Sha256: 247d91a7c4c8d115944133c3cdbd0753bcc18897d6789516d536387cbdb4bc6b

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

RSpec.describe RubyLokaliseApi::Error do
  include RubyLokaliseApi::Request

  before { RubyLokaliseApi.reset_client! }

  after { RubyLokaliseApi.reset_client! }

  it 'raises a generic error when the code is unknown' do
    expect do
      VCR.use_cassette('error_unknown_code') do
        get 'projects', RubyLokaliseApi.client('invalid')
      end
    end.to raise_error(described_class)
  end

  it 'handles an exception when the response does not contain an error key' do
    expect do
      VCR.use_cassette('error_no_error_key') do
        get 'projects', RubyLokaliseApi.client('invalid')
      end
    end.to raise_error(RubyLokaliseApi::Error::BadRequest)
  end

  it 'raises BadRequest when API token is invalid' do
    expect do
      VCR.use_cassette('error_invalid_token') do
        get 'projects', RubyLokaliseApi.client('invalid')
      end
    end.to raise_error(RubyLokaliseApi::Error::BadRequest)
  end

  it 'raises NotFound when the provided path cannot be found' do
    expect do
      VCR.use_cassette('error_not_found') do
        get 'invalid_path', test_client
      end
    end.to raise_error(RubyLokaliseApi::Error::NotFound)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-lokalise-api-6.0.0 spec/lib/ruby_lokalise_api/error_spec.rb