Sha256: bd76a159e8d879d2cd606eba5c6726c25d6de25e1137db1b2b415cfd5cf6f90e

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

require 'webmock/rspec'

module StubHelper

	def initialize
		@base_url = 'http://www.example.com/'
	end

	def mock_get(url, response_headers = {}, status = 200)
		stub_request(:get, @base_url + url).to_return(headers: response_headers, body: get_json_response_file(url), status: status)
	end

	def mock_post(url, options = {}, status = 200)
		stub_request(:post, @base_url + url).with(body: options[:request_body] || {})
			.to_return(headers: options[:response_headers] || {}, body: get_json_response_file(url), status: status)
	end

	def mock_put(url, options = {}, status = 200)
		stub_request(:put, @base_url + url).with(body: options[:request_body] || {})
			.to_return(headers: options[:response_headers] || {}, body: get_json_response_file(url), status: status)
	end

	def mock_patch(url, options = {}, status = 200)
		stub_request(:patch, @base_url + url).with(body: options[:request_body] || {})
			.to_return(headers: options[:response_headers] || {}, body: get_json_response_file(url), status: status)
	end

	def mock_delete(url)
		stub_request(:delete, @base_url + url)
	end

	private

		def get_json_response_file(name)
			IO.read(File.join('spec/test_responses', name + ".json"))
		end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
airborne-0.0.21 spec/stub_helper.rb
airborne-0.0.20 spec/stub_helper.rb
airborne-0.0.19 spec/stub_helper.rb