Sha256: eeba6a75d641738a15f266b103e1ea6c85bc33afdcb57585efda7d0bfc516fc9

Contents?: true

Size: 1.39 KB

Versions: 12

Compression:

Stored size: 1.39 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

  context "Mock Request" do
    context "Initialize" do 
      it "should correctly assign blank params" do
        request = ApiResource::Mocks::MockRequest.new(:get, "/authenticate.json?token=")
        request.params.should eql({"token" => ""})
      end
    end
  end
  
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
api_resource-0.4.0 spec/lib/mocks_spec.rb
api_resource-0.3.14 spec/lib/mocks_spec.rb
api_resource-0.3.13 spec/lib/mocks_spec.rb
api_resource-0.3.12 spec/lib/mocks_spec.rb
api_resource-0.3.11 spec/lib/mocks_spec.rb
api_resource-0.3.10 spec/lib/mocks_spec.rb
api_resource-0.3.8 spec/lib/mocks_spec.rb
api_resource-0.3.7 spec/lib/mocks_spec.rb
api_resource-0.3.6 spec/lib/mocks_spec.rb
api_resource-0.3.5 spec/lib/mocks_spec.rb
api_resource-0.3.4 spec/lib/mocks_spec.rb
api_resource-0.3.3 spec/lib/mocks_spec.rb