require_relative '../soaspec' # This represents a request / response pair class Exchange attr_reader :xml_response attr_reader :xml_doc def initialize(name, override_parameters = {}) @test_name = name.to_s @api_class = Soaspec::Environment.api_handler @override_parameters = override_parameters end # Make request to handler with parameters defined def make_request @api_class.make_request(@override_parameters) end # Name describing this class when used with `RSpec.describe` # @return [String] Name given when initializing def to_s @response = self.make_request if Soaspec::Environment.api_handler.class < Soaspec::BasicSoapHandler @xml_response = @response.to_xml @xml_doc = @response.doc end @test_name end def contain(value) @xml_response.include? value end # Returns Savon response # response.body (body of response as Hash) # response.header (head of response as Hash) def response @response end def status_code @response.http.code end end