Add EPP response code rspec matcher

#355
This commit is contained in:
Artur Beljajev 2017-01-25 05:11:31 +02:00
parent edf1e33260
commit e31c68d43f
6 changed files with 56 additions and 18 deletions

View file

@ -0,0 +1,35 @@
module Matchers
module EPP
class Code
def initialize(expected)
@expected = expected
end
def matches?(response)
@xml = response.body
actual == expected
end
def failure_message
"Expected EPP code of #{expected}, got #{actual} (#{description})"
end
private
attr_reader :xml
attr_reader :expected
def actual
xml_document.xpath('//xmlns:result').first['code'].to_i
end
def description
xml_document.css('result msg').text
end
def xml_document
@xml_document ||= Nokogiri::XML(xml)
end
end
end
end