Sha256: 44015ada6b1ec74c6854928409e15c7959477cab8b9b80dcac4f4d3d8838797c

Contents?: true

Size: 1.12 KB

Versions: 8

Compression:

Stored size: 1.12 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
require 'json'

include ApiResource

describe Mocks do
  
  # we set up the mocks in spec helper, so we can just assert this
  it "should hijack the connection" do
    ApiResource::Mocks::Interface.any_instance.expects(:get).once.returns(
      ApiResource::Mocks::MockResponse.new({}, {:headers => {"Content-type" => "application/json"}, :status_code => 200})
    )
    TestResource.reload_class_attributes
  end
  
  it "should allow the user to raise errors for invalid responsed" do
    old_err_status = ApiResource.raise_missing_definition_error 
    ApiResource::Base.raise_missing_definition_error = true
    
    lambda {
      class MyNewInvalidResource < ApiResource::Base; end
      MyNewInvalidResource.new 
    }.should raise_error(ApiResource::ResourceNotFound)
    
    ApiResource.raise_missing_definition_error = old_err_status
  end

  it "should merge params for a request" do
    resp = ApiResource::Base.connection.get(
      "/mock_with_block/1?#{{:test => "abc"}.to_query}"
    )
    resp["id"].should eql "1"
    resp["test"].should eql "abc"
  end
  
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
api_resource-0.3.2 spec/lib/mocks_spec.rb
api_resource-0.3.1 spec/lib/mocks_spec.rb
api_resource-0.3.0 spec/lib/mocks_spec.rb
api_resource-0.2.11 spec/lib/mocks_spec.rb
api_resource-0.2.10 spec/lib/mocks_spec.rb
api_resource-0.2.9 spec/lib/mocks_spec.rb
api_resource-0.2.8 spec/lib/mocks_spec.rb
api_resource-0.2.7 spec/lib/mocks_spec.rb