Revert "Domain transfer: Conditionally reuse contacts"

This commit is contained in:
Timo Võhmar 2020-08-04 22:12:36 +03:00 committed by GitHub
parent bf166bb273
commit 7ed9384848
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 10 additions and 31 deletions

View file

@ -7,7 +7,7 @@ module Concerns::Contact::Transferable
end
def transfer(new_registrar)
return identical(new_registrar) if identical_with_registrar?(new_registrar)
return identical(new_registrar) if identical(new_registrar)
new_contact = self.dup
new_contact.registrar = new_registrar
@ -23,13 +23,6 @@ module Concerns::Contact::Transferable
protected
def identical_with_registrar?(registrar)
return false unless identical(registrar)
return true unless DomainContact.where(contact_id: id).any?
false
end
def generate_auth_info
self.auth_info = SecureRandom.hex(11)
end

View file

@ -64,7 +64,7 @@ class APIDomainTransfersTest < ApplicationIntegrationTest
end
def test_duplicates_registrant_admin_and_tech_contacts
assert_difference -> { @new_registrar.contacts.size }, 4 do
assert_difference -> { @new_registrar.contacts.size }, 3 do
post '/repp/v1/domain_transfers', params: request_params, as: :json,
headers: { 'HTTP_AUTHORIZATION' => http_auth_key }
end
@ -73,7 +73,7 @@ class APIDomainTransfersTest < ApplicationIntegrationTest
def test_reuses_identical_contact
post '/repp/v1/domain_transfers', params: request_params, as: :json,
headers: { 'HTTP_AUTHORIZATION' => http_auth_key }
assert_equal 2, @new_registrar.contacts.where(name: 'William').size
assert_equal 1, @new_registrar.contacts.where(name: 'William').size
end
def test_fails_if_domain_does_not_exist

View file

@ -59,7 +59,7 @@ class EppDomainTransferRequestTest < EppTestCase
end
def test_duplicates_registrant_admin_and_tech_contacts
assert_difference -> { @new_registrar.contacts.size }, 4 do
assert_difference -> { @new_registrar.contacts.size }, 3 do
post epp_transfer_path, params: { frame: request_xml },
headers: { 'HTTP_COOKIE' => 'session=api_goodnames' }
end
@ -68,7 +68,7 @@ class EppDomainTransferRequestTest < EppTestCase
def test_reuses_identical_contact
post epp_transfer_path, params: { frame: request_xml },
headers: { 'HTTP_COOKIE' => 'session=api_goodnames' }
assert_equal 2, @new_registrar.contacts.where(name: 'William').size
assert_equal 1, @new_registrar.contacts.where(name: 'William').size
end
def test_saves_legal_document

View file

@ -47,6 +47,11 @@ class ContactTransferTest < ActiveSupport::TestCase
end
end
def test_reuses_identical_contact
identical = contacts(:identical_to_william)
assert_equal identical, contacts(:william).transfer(@new_registrar)
end
def test_bypasses_validation
@contact = contacts(:invalid)

View file

@ -29,23 +29,4 @@ class DomainTransferTest < ActiveSupport::TestCase
assert_equal id, notification.attached_obj_id
assert_equal class_name, notification.attached_obj_type
end
def test_does_not_reuse_identical_contacts_on_transfer
# Create identical contact and assign it to domain
domain = @domain_transfer.domain
identical_contact = domain.contacts.first.transfer(domain.registrar)
assert_equal 3, domain.domain_contacts.count
domain.domain_contacts.create!(contact: identical_contact, type: 'AdminDomainContact')
assert_equal 4, domain.domain_contacts.count
@domain_transfer.approve
@domain_transfer.reload
domain.reload
assert @domain_transfer.approved?
assert_equal 4, domain.domain_contacts.count
assert_equal domain.registrar, @domain_transfer.new_registrar
end
end