mirror of
https://github.com/internetee/registry.git
synced 2025-06-07 21:25:39 +02:00
parent
c733c0910d
commit
ecc68f083d
3 changed files with 67 additions and 25 deletions
17
test/fixtures/contacts.yml
vendored
17
test/fixtures/contacts.yml
vendored
|
@ -9,16 +9,22 @@ john:
|
|||
code: john-001
|
||||
auth_info: cacb5b
|
||||
|
||||
william:
|
||||
william: &william
|
||||
name: William
|
||||
email: william@inbox.test
|
||||
phone: '+555.555'
|
||||
fax: +555.555
|
||||
ident: 1234
|
||||
ident_type: priv
|
||||
ident_country_code: US
|
||||
registrar: bestnames
|
||||
code: william-001
|
||||
auth_info: 6573d0
|
||||
street: Main Street
|
||||
zip: 12345
|
||||
city: New York
|
||||
state: New York
|
||||
country_code: US
|
||||
statuses:
|
||||
- ok
|
||||
|
||||
|
@ -56,17 +62,10 @@ jack:
|
|||
auth_info: e2c440
|
||||
|
||||
identical_to_william:
|
||||
name: William
|
||||
email: william@inbox.test
|
||||
phone: '+555.555'
|
||||
ident: 1234
|
||||
ident_type: priv
|
||||
ident_country_code: US
|
||||
<<: *william
|
||||
registrar: goodnames
|
||||
code: william-002
|
||||
auth_info: 5ab865
|
||||
statuses:
|
||||
- ok
|
||||
|
||||
invalid:
|
||||
name: any
|
||||
|
|
|
@ -1,30 +1,57 @@
|
|||
require 'test_helper'
|
||||
|
||||
class ContactIdenticalTest < ActiveSupport::TestCase
|
||||
REGULAR_FILTER_ATTRIBUTES = %i[
|
||||
name
|
||||
email
|
||||
phone
|
||||
fax
|
||||
ident
|
||||
ident_type
|
||||
ident_country_code
|
||||
org_name
|
||||
]
|
||||
|
||||
def setup
|
||||
@contact = contacts(:william)
|
||||
@identical = contacts(:identical_to_william)
|
||||
end
|
||||
|
||||
def test_identical
|
||||
def test_returns_identical
|
||||
assert_equal @identical, @contact.identical(@identical.registrar)
|
||||
end
|
||||
|
||||
def test_not_identical
|
||||
filter_attributes = %i[
|
||||
name
|
||||
ident
|
||||
ident_type
|
||||
ident_country_code
|
||||
phone
|
||||
email
|
||||
]
|
||||
def test_does_not_return_non_identical
|
||||
REGULAR_FILTER_ATTRIBUTES.each do |attribute|
|
||||
previous_value = @identical.public_send(attribute)
|
||||
@identical.update_attribute(attribute, 'other')
|
||||
assert_nil @contact.identical(@identical.registrar)
|
||||
@identical.update_attribute(attribute, previous_value)
|
||||
end
|
||||
|
||||
filter_attributes.each do |attribute|
|
||||
@identical.update!({ statuses: %w[ok linked] })
|
||||
assert_nil @contact.identical(@identical.registrar)
|
||||
end
|
||||
|
||||
def test_takes_address_into_account_when_processing_enabled
|
||||
Setting.address_processing = true
|
||||
|
||||
Contact.address_attribute_names.each do |attribute|
|
||||
previous_value = @identical.public_send(attribute)
|
||||
@identical.update_attribute(attribute, 'other')
|
||||
assert_nil @contact.identical(@identical.registrar)
|
||||
@identical.update_attribute(attribute, previous_value)
|
||||
end
|
||||
end
|
||||
|
||||
def test_ignores_address_when_processing_disabled
|
||||
Setting.address_processing = false
|
||||
|
||||
Contact.address_attribute_names.each do |attribute|
|
||||
previous_value = @identical.public_send(attribute)
|
||||
@identical.update_attribute(attribute, 'other')
|
||||
assert_equal @identical, @contact.identical(@identical.registrar)
|
||||
@identical.update_attribute(attribute, previous_value)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue