Contact: Append prefix unless present

This commit is contained in:
Karl Erik Õunapuu 2021-02-09 11:46:47 +02:00
parent 1bdfcef36b
commit c7b4045018
No known key found for this signature in database
GPG key ID: C9DD647298A34764
2 changed files with 8 additions and 4 deletions

View file

@ -93,7 +93,11 @@ module Epp
def find_contact def find_contact
code = params[:parsed_frame].css('id').text.strip.upcase code = params[:parsed_frame].css('id').text.strip.upcase
@contact = Epp::Contact.find_by!(code: code) reg_code = current_user.registrar.code.upcase
arr = [code, "#{reg_code}:#{code}", "CID:#{code}", "CID:#{reg_code}:#{code}"]
contact = arr.find { |c| Epp::Contact.find_by(code: c).present? }
@contact = Epp::Contact.find_by!(code: contact || code)
end end
# #

View file

@ -71,8 +71,8 @@ class EppContactInfoBaseTest < EppTestCase
end end
def test_get_info_about_contact_without_prefix def test_get_info_about_contact_without_prefix
@contact.update_columns(code: 'TEST:JOHN-001') @contact.update_columns(code: "#{@contact.registrar.code}:JOHN-001".upcase)
assert @contact.code, 'TEST:JOHN-001' assert @contact.code, "#{@contact.registrar.code}:JOHN-001".upcase
request_xml = <<-XML request_xml = <<-XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
@ -92,7 +92,7 @@ class EppContactInfoBaseTest < EppTestCase
response_xml = Nokogiri::XML(response.body) response_xml = Nokogiri::XML(response.body)
assert_epp_response :completed_successfully assert_epp_response :completed_successfully
assert_equal 'TEST:JOHN-001', response_xml.at_xpath('//contact:id', contact: xml_schema).text assert_equal "#{@contact.registrar.code}:JOHN-001".upcase, response_xml.at_xpath('//contact:id', contact: xml_schema).text
assert_equal '+555.555', response_xml.at_xpath('//contact:voice', contact: xml_schema).text assert_equal '+555.555', response_xml.at_xpath('//contact:voice', contact: xml_schema).text
end end