lib/soaspec/matchers.rb in soaspec-0.0.9 vs lib/soaspec/matchers.rb in soaspec-0.0.10

- old
+ new

@@ -1,15 +1,8 @@ require_relative 'hash_methods' -def xpath_for(param) - # TODO: look a using Savon's xpath rather than converting to Nokogiri - result = param[:exchange].xml_doc.at_xpath(param[:xpath], Soaspec::Environment.api_handler.namespaces) - raise 'No value at Xpath' unless result - result -end - RSpec::Matchers.define :contain_value do |expected| match do |actual| expect(actual.response.body.include_value?(expected)).to be true end @@ -28,15 +21,15 @@ end end RSpec::Matchers.define :have_element_at_xpath do |xpath| match do |exchange| - expect(xpath_for(exchange: exchange, xpath: xpath).content).not_to be_empty + 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(xpath_for(exchange: exchange, xpath: expected_hash.keys.first).content).to eq expected_hash.values.first + 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 \ No newline at end of file