Sha256: 81dbb8266d8868336b5e15609e933330a9cc9268b6dc0507cb7340764f51f891

Contents?: true

Size: 1013 Bytes

Versions: 1

Compression:

Stored size: 1013 Bytes

Contents

require_relative 'hash_methods'

RSpec::Matchers.define :contain_value do |expected|
  match do |actual|
    expect(actual.response.body.include_value?(expected)).to be true
  end

  failure_message do |actual|
    "expected that #{actual.response.body} would contain value #{expected}"
  end
end

RSpec::Matchers.define :contain_key do |expected|
  match do |actual|
    expect(actual.response.body.include_key?(expected)).to be true
  end

  failure_message do |actual|
    "expected that #{actual.response.body} would contain key #{expected}"
  end
end

RSpec::Matchers.define :have_element_at_xpath do |xpath|
  match do |exchange|
    expect(exchange[xpath]).not_to be_empty
  end
end

RSpec::Matchers.define :have_xpath_value do |expected_hash|
  match do |exchange|
    expected_hash = Hash[*expected_hash.flatten] if expected_hash.is_a?(Array) # For some reason Array was occuring
    expect(exchange[expected_hash.keys.first]).to eq expected_hash.values.first
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
soaspec-0.0.10 lib/soaspec/matchers.rb