Sha256: 8ca6fc3485efe92db011c55d24b8d92e5702f36305f29c880ffdac990fc8022b

Contents?: true

Size: 1.8 KB

Versions: 10

Compression:

Stored size: 1.8 KB

Contents

require "spec_helper"

describe BaseCRM::Middlewares::RaiseError do
  before { @raise_error = BaseCRM::Middlewares::RaiseError.new }

  describe :on_complete do

    it "returns nil when code 200..300" do
      expect { @raise_error.on_complete({:status => 204}) }.not_to raise_error
    end

    it "raises ResourceError when code 422 and no content type" do
      expect { @raise_error.on_complete({:status => 422, :response_headers => {}}) }
        .to raise_error do |error|
          expect(error).to be_a(BaseCRM::ResourceError)
          expect(error.code).to eql(422)
          expect(error.message).to eql("Unknown error occurred.")
        end
    end

    it "raises RequestError when code 400..500 and no content type" do
      expect { @raise_error.on_complete({:status => 400, :response_headers => {}}) }
        .to raise_error do |error|
          expect(error).to be_a(BaseCRM::RequestError)
          expect(error.code).to eql(400)
          expect(error.message).to eql("Unknown error occurred.")
        end
    end

    it "raises ServerError when code 500..600 and no content type" do
      expect { @raise_error.on_complete({:status => 500, :response_headers => {}}) }
        .to raise_error do |error|
          expect(error).to be_a(BaseCRM::ServerError)
          expect(error.code).to eql(500)
          expect(error.message).to eql("Unknown error occurred.")
        end
    end

    it "raises ResourceError when code 422 and XML (not supported) content type" do
      expect { @raise_error.on_complete({:status => 422, :response_headers => {'content-type' => "application/xml"}}) }
        .to raise_error do |error|
          expect(error).to be_a(BaseCRM::ResourceError)
          expect(error.code).to eql(422)
          expect(error.message).to eql("Unknown error occurred.")
        end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
basecrm-2.0.0 spec/middlewares/raise_error_spec.rb
basecrm-1.3.10 spec/middlewares/raise_error_spec.rb
basecrm-1.3.9 spec/middlewares/raise_error_spec.rb
basecrm-1.3.8 spec/middlewares/raise_error_spec.rb
basecrm-1.3.7 spec/middlewares/raise_error_spec.rb
basecrm-1.3.6 spec/middlewares/raise_error_spec.rb
basecrm-1.3.5 spec/middlewares/raise_error_spec.rb
basecrm-1.3.4 spec/middlewares/raise_error_spec.rb
basecrm-1.3.3 spec/middlewares/raise_error_spec.rb
basecrm-1.3.2 spec/middlewares/raise_error_spec.rb