Sha256: a3dae224ed7a983420c017515d1443d3c96bccdd220c1f5f6db7bb0e003ba753

Contents?: true

Size: 935 Bytes

Versions: 1

Compression:

Stored size: 935 Bytes

Contents

RSpec::Matchers.define :respond_a_collection_of_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 == Array
  end
  description do
    "respond with a records collection (Array)"
  end
  failure_message do |actual|
    result = JSON::parse(actual.browser.last_response.body, symbolize_names: true)
    result  = result[options[:root]] unless options[:oot].nil?
    "expected #{actual} response body would be a collection \nneed : Array, \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 collection \nneed : Array, \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_collection_of_record.rb