From ca7779fb4c77bd8509a00439ced417bfff8a4301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20Keskk=C3=BCla?= Date: Wed, 13 Aug 2014 15:29:52 +0300 Subject: [PATCH] Refactored contact_check specs onto xml builder --- spec/epp/contact_spec.rb | 6 ++++-- spec/support/epp.rb | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/spec/epp/contact_spec.rb b/spec/epp/contact_spec.rb index 6e1f03676..05557f9ce 100644 --- a/spec/epp/contact_spec.rb +++ b/spec/epp/contact_spec.rb @@ -34,7 +34,7 @@ describe 'EPP Contact', epp: true do end it "doesn't check contact if request is invalid" do - response = epp_request('contacts/delete_missing_attr.xml') + response = epp_request(contact_check_xml( ids: [ false ] ), :xml) expect(response[:results][0][:result_code]).to eq('2003') expect(response[:results][0][:msg]).to eq('Required parameter missing: id') @@ -123,7 +123,9 @@ describe 'EPP Contact', epp: true do it 'checks contacts' do Fabricate(:contact, code: 'check-1234') - response = epp_request('contacts/check.xml') + response = epp_request(contact_check_xml( ids: [{ id: 'check-1234'}, { id: 'check-4321' }] ), :xml) + + #response = epp_request('contacts/check.xml') expect(response[:result_code]).to eq('1000') expect(response[:msg]).to eq('Command completed successfully') ids = response[:parsed].css('resData chkData id') diff --git a/spec/support/epp.rb b/spec/support/epp.rb index e2f27225f..4a7fffd66 100644 --- a/spec/support/epp.rb +++ b/spec/support/epp.rb @@ -88,6 +88,33 @@ module Epp end end end + + #contact builders + + def contact_check_xml(xml_params={}) + + xml_params[:ids] = xml_params[:ids] || [ { id: 'check-1234' }, { id: 'check-4321' } ] + + xml = Builder::XmlMarkup.new + + xml.instruct!(:xml, standalone: 'no') + xml.epp('xmlns' => 'urn:ietf:params:xml:ns:epp-1.0') do + xml.command do + xml.check do + xml.tag!('contact:check', 'xmlns:contact' => 'urn:ietf:params:xml:ns:contact-1.0') do + unless xml_params[:ids] == [false] + xml_params[:ids].each do |x| + xml.tag!('contact:id', x[:id]) + end + end + end + end + xml.clTRID 'ABC-12345' + end + end + end + + end RSpec.configure do |c|