Sha256: f9dd1d5a1b2e57a620cdbda665e38452a636ab120e8c0a54c58ede15bed39c4b

Contents?: true

Size: 894 Bytes

Versions: 1

Compression:

Stored size: 894 Bytes

Contents

RSpec::Matchers.define :respond_a_record do |options={}|
  match do |actual|
    result = JSON::parse(actual.browser.last_response.body, symbolize_names: true)
    result  = result[options[:root]] unless options[:root].nil?
    result.class == Hash
  end
  description do
    "respond with a record (Hash)"
  end
  failure_message do |actual|
    result = JSON::parse(actual.browser.last_response.body, symbolize_names: true)
    result  = result[options[:root]] unless options[:root].nil?
    "expected #{actual} response body would be a record \nneed : Hash, \ngot  : #{result.class}"
  end
  failure_message_when_negated do |actual|
    result = JSON::parse(actual.browser.last_response.body, symbolize_names: true)
    result  = result[options[:root]] unless options[:root].nil?
    "expected #{actual} response body would not be a record \nneed : Hash, \ngot  : #{result.class}"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rack-rest-rspec-0.0.5 lib/rack-rest-rspec/matchers/respond_a_record.rb