Sha256: 1066ed3a9af51fe49ddfd0be994b49bb705b428b678333c7ae30acf274934286

Contents?: true

Size: 894 Bytes

Versions: 2

Compression:

Stored size: 894 Bytes

Contents

require "spec_helper"
require "espago/api_connection"
require "json"

class StubbedResponse < Struct.new(:body, :status); end

class Espago::ApiConnection::PathStubbed
  def initialize(connection); end

  def request(params = {})
    StubbedResponse.new("{\"data\":\"returned api data\"}", 200)
  end
end

class Espago::ApiConnection::PathUnauthorized
  def initialize(connection)
  end

  def request(params = {})
    StubbedResponse.new(nil, 401)
  end
end


describe Espago::ApiConnection do
  subject { Espago::ApiConnection.new("http://some.api.example.com",{'Accept' => "application/vnd.espago.v2+json"}) }

  context "#create" do
    it "returns response" do
      subject.create(:path, :stubbed).should be_a_kind_of Espago::Response
    end
    it "raises auth error" do
      expect { subject.create(:path, :unauthorized) }.to raise_error Espago::AuthenticationError
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
espago-0.1.8 spec/espago/api_connection_spec.rb
espago-0.1.2 spec/espago/api_connection_spec.rb