Sha256: b50c5161fac06d3421311f83fe19554d6c9faa07cbf36670fdc0321be5540ea6

Contents?: true

Size: 1.11 KB

Versions: 4

Compression:

Stored size: 1.11 KB

Contents

describe Moip2::Response do

  let(:parsed_json) { { "id" => "ORD-SOMETHING" } }

  let(:response) { described_class.new(nil, parsed_json) }

  describe "method delegation" do

    it "delegates []" do
      expect(response["id"]).to eq("ORD-SOMETHING")
    end

    it "delegates attribute to property accessor" do
      expect(response.id).to eq("ORD-SOMETHING")
    end

  end

  describe "#success?" do

    let(:success_response) do
      double("Success Response").tap do |success_response|
        allow(success_response).to receive(:code).and_return(200)
      end
    end

    let(:response) { described_class.new(success_response, parsed_json) }

    it "returns true when response code == 2xx" do
      expect(response).to be_success
    end

  end

  describe "#client_error?" do

    let(:error_response) do
      double("Error Response").tap do |error_response|
        allow(error_response).to receive(:code).and_return(400)
      end
    end

    let(:response) { described_class.new(error_response, {}) }

    it "returns false when response code == 4xx" do
      expect(response).to be_client_error
    end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
moip2-0.1.4 spec/moip2/response_spec.rb
moip2-0.1.3 spec/moip2/response_spec.rb
moip2-0.1.1 spec/moip2/response_spec.rb
moip2-0.1.0 spec/moip2/response_spec.rb