Include tests for EPP contact create/update actions regarding to addressing

This commit is contained in:
Karl Erik Õunapuu 2020-08-10 16:04:52 +03:00
parent 8f8b246e49
commit e40353042e
3 changed files with 205 additions and 0 deletions

View file

@ -140,4 +140,115 @@ class EppContactCreateBaseTest < EppTestCase
end
assert_epp_response :required_parameter_missing
end
def test_does_not_save_address_when_address_processing_turned_off
name = 'new'
email = 'new@registrar.test'
phone = '+1.2'
request_xml = <<-XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
<command>
<create>
<contact:create xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd">
<contact:postalInfo>
<contact:name>#{name}</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:sp>FFF</contact:sp>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>#{phone}</contact:voice>
<contact:email>#{email}</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
<eis:ident type="priv" cc="US">123</eis:ident>
</eis:extdata>
</extension>
</command>
</epp>
XML
assert_difference 'Contact.count' do
post epp_create_path, params: { frame: request_xml },
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
end
assert_epp_response :completed_without_address
contact = Contact.find_by(name: name)
assert_equal name, contact.name
assert_equal email, contact.email
assert_equal phone, contact.phone
assert_not_empty contact.code
assert_nil contact.city
assert_nil contact.street
assert_nil contact.zip
assert_nil contact.country_code
assert_nil contact.state
end
def test_saves_address_when_address_processing_turned_on
Setting.address_processing = true
name = 'new'
email = 'new@registrar.test'
phone = '+1.2'
street = '123 Example'
city = 'Tallinn'
state = 'Harjumaa'
zip = '123456'
country_code = 'EE'
request_xml = <<-XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
<command>
<create>
<contact:create xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd">
<contact:postalInfo>
<contact:name>#{name}</contact:name>
<contact:addr>
<contact:street>#{street}</contact:street>
<contact:city>#{city}</contact:city>
<contact:sp>#{state}</contact:sp>
<contact:pc>#{zip}</contact:pc>
<contact:cc>#{country_code}</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>#{phone}</contact:voice>
<contact:email>#{email}</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
<eis:ident type="priv" cc="US">123</eis:ident>
</eis:extdata>
</extension>
</command>
</epp>
XML
assert_difference 'Contact.count' do
post epp_create_path, params: { frame: request_xml },
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
end
assert_epp_response :completed_successfully
contact = Contact.find_by(name: name)
assert_equal name, contact.name
assert_equal email, contact.email
assert_equal phone, contact.phone
assert_not_empty contact.code
assert_equal city, contact.city
assert_equal street, contact.street
assert_equal zip, contact.zip
assert_equal country_code, contact.country_code
assert_equal state, contact.state
end
end