Sha256: ac1c18119a75494c978613e8c31f8c85bd0ce645f916424b11670ef92ba49f74

Contents?: true

Size: 1.91 KB

Versions: 19

Compression:

Stored size: 1.91 KB

Contents

require "spec_helper"

describe Frenchy::RequestError do
  describe "#message" do
    describe "with an exception" do
      it "uses the message from the exception" do
        ex = EOFError.new("reached eof")
        error = Frenchy::RequestError.new(ex.message)

        message = begin
          raise(error, ex)
        rescue => e
          e.message
        end

        expect(message).to eql("reached eof")
      end

      it "can be raised" do
        ex = EOFError.new("reached eof")
        error = Frenchy::RequestError
        expect do
          raise(error, ex)
        end.to raise_error(Frenchy::RequestError, "reached eof")
      end
    end

    describe "with a response" do
      it "uses the status of the response" do
        response = instance_double("Net::HTTPResponse", code: "500", body: "internal server error")
        error = Frenchy::RequestError.new(nil, nil, response)

        message = begin
          raise(error)
        rescue => e
          e.message
        end

        expect(message).to include("500")
        expect(message).to include("internal server error")
      end

      it "can be raised" do
        response = instance_double("Net::HTTPResponse", code: "500", body: "internal server error")
        error = Frenchy::RequestError.new(nil, response)
        expect do
          raise error, "something"
        end.to raise_error(Frenchy::RequestError)
      end
    end
  end

  describe "#request" do
    it "contains the original request" do
      request = "GET https://api.github.com"
      error = Frenchy::RequestError.new(nil, request, nil)
      expect(error.request).to eql(request)
    end
  end

  describe "#response" do
    it "contains the original response" do
      response = instance_double("Net::HTTPResponse", code: "500", body: "internal server error")
      error = Frenchy::RequestError.new(nil, nil, response)
      expect(error.response).to eql(response)
    end
  end

end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
frenchy-0.7.0 spec/lib/frenchy/error_spec.rb
frenchy-0.6.3 spec/lib/frenchy/error_spec.rb
frenchy-0.6.2 spec/lib/frenchy/error_spec.rb
frenchy-0.6.1 spec/lib/frenchy/error_spec.rb
frenchy-0.6.0 spec/lib/frenchy/error_spec.rb
frenchy-0.5.2 spec/lib/frenchy/error_spec.rb
frenchy-0.5.1 spec/lib/frenchy/error_spec.rb
frenchy-0.5.0 spec/lib/frenchy/error_spec.rb
frenchy-0.4.0 spec/lib/frenchy/error_spec.rb
frenchy-0.3.0 spec/lib/frenchy/error_spec.rb
frenchy-0.2.9 spec/lib/frenchy/error_spec.rb
frenchy-0.2.8 spec/lib/frenchy/error_spec.rb
frenchy-0.2.7 spec/lib/frenchy/error_spec.rb
frenchy-0.2.6 spec/lib/frenchy/error_spec.rb
frenchy-0.2.5 spec/lib/frenchy/error_spec.rb
frenchy-0.2.4 spec/lib/frenchy/error_spec.rb
frenchy-0.2.3 spec/lib/frenchy/error_spec.rb
frenchy-0.2.2 spec/lib/frenchy/error_spec.rb
frenchy-0.2.1 spec/lib/frenchy/error_spec.rb