Sha256: d34ae3ef32210a3f2f6faf7360c0d9dcdfd6c8a3147ad2599cd3f0385075fd7f
Contents?: true
Size: 1.77 KB
Versions: 2
Compression:
Stored size: 1.77 KB
Contents
require 'spec_helper' describe Restforce::Middleware::RaiseError do let(:body) { JSON.parse(fixture('sobject/query_error_response')) } let(:env) { { status: status, body: body } } let(:middleware) { described_class.new app } describe '.on_complete' do subject(:on_complete) { middleware.on_complete(env) } context 'when the status code is 404' do let(:status) { 404 } it "raises an error" do expect { on_complete }.to raise_error Faraday::Error::ResourceNotFound, 'INVALID_FIELD: error_message' end end context 'when the status code is 400' do let(:status) { 400 } it "raises an error" do expect { on_complete }.to raise_error Faraday::Error::ClientError, 'INVALID_FIELD: error_message' end end context 'when the status code is 401' do let(:status) { 401 } it "raises an error" do expect { on_complete }.to raise_error Restforce::UnauthorizedError, 'INVALID_FIELD: error_message' end end context 'when the status code is 413' do let(:status) { 413 } it "raises an error" do expect { on_complete }.to raise_error Faraday::Error::ClientError, 'HTTP 413 - Request Entity Too Large' end end context 'when status is 400+ and body is a string' do let(:body) { 'An error occured' } let(:status) { 404 } it 'raises an error with a non-existing error code' do expect { on_complete }.to raise_error Faraday::Error::ClientError, "(error code missing): #{body}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
restforce-2.1.3 | spec/unit/middleware/raise_error_spec.rb |
restforce-2.1.2 | spec/unit/middleware/raise_error_spec.rb |