Sha256: 8629c0e1938e3b76d13495472a29ed0bbc6af78ee20d6623773448c951b5a991

Contents?: true

Size: 814 Bytes

Versions: 7

Compression:

Stored size: 814 Bytes

Contents

require 'webmock/rspec'

module WebMockHelper
  def mock_json(endpoint, response_file, options = {})
    endpoint = endpoint.to_s
    stub_request(:get, endpoint).with(
      request_for(options)
    ).to_return(
      response_for(response_file, options)
    )
    yield
    a_request(:get, endpoint).with(
      request_for(options)
    ).should have_been_made.once
  end

  private

  def request_for(options = {})
    request = {}
    request[:query] = options[:query]
    request
  end

  def response_for(response_file, options = {})
    response = {}
    response[:body] = File.new(File.join(File.dirname(__FILE__), '../mock_json', "#{response_file}.json"))
    if options[:status]
      response[:status] = options[:status]
    end
    response
  end
end

include WebMockHelper
WebMock.disable_net_connect!

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
swd-1.3.0 spec/helpers/webmock_helper.rb
swd-1.2.0 spec/helpers/webmock_helper.rb
swd-1.1.2 spec/helpers/webmock_helper.rb
swd-1.1.1 spec/helpers/webmock_helper.rb
swd-1.1.0 spec/helpers/webmock_helper.rb
swd-1.0.1 spec/helpers/webmock_helper.rb
swd-1.0.0 spec/helpers/webmock_helper.rb