internetee-registry/test/models/contact_test.rb
2019-03-15 17:33:07 +02:00

82 lines
No EOL
2.2 KiB
Ruby

require 'test_helper'
class ContactTest < ActiveSupport::TestCase
setup do
@contact = contacts(:john)
end
def test_valid_fixture
assert @contact.valid?, proc { @contact.errors.full_messages }
end
def test_private_entity
assert_equal 'priv', Contact::PRIV
end
def test_legal_entity
assert_equal 'org', Contact::ORG
end
def test_invalid_without_email
@contact.email = ''
assert @contact.invalid?
end
def test_email_format_validation
@contact.email = 'invalid'
assert @contact.invalid?
@contact.email = 'test@bestmail.test'
assert @contact.valid?
end
def test_invalid_without_phone
@contact.email = ''
assert @contact.invalid?
end
def test_phone_format_validation
@contact.phone = '+123.'
assert @contact.invalid?
@contact.phone = '+123.4'
assert @contact.valid?
end
def test_address
address = Contact::Address.new('new street', '83746', 'new city', 'new state', 'EE')
@contact.address = address
@contact.save!
@contact.reload
assert_equal 'new street', @contact.street
assert_equal '83746', @contact.zip
assert_equal 'new city', @contact.city
assert_equal 'new state', @contact.state
assert_equal 'EE', @contact.country_code
assert_equal address, @contact.address
end
def test_returns_registrant_user_direct_contacts
assert_equal Contact::PRIV, @contact.ident_type
assert_equal '1234', @contact.ident
assert_equal 'US', @contact.ident_country_code
registrant_user = RegistrantUser.new(registrant_ident: 'US-1234')
registrant_user.stub(:companies, []) do
assert_equal [@contact], Contact.registrant_user_contacts(registrant_user)
assert_equal [@contact], Contact.registrant_user_direct_contacts(registrant_user)
end
end
def test_returns_registrant_user_indirect_contacts
@contact.update!(ident_type: Contact::ORG)
assert_equal '1234', @contact.ident
assert_equal 'US', @contact.ident_country_code
registrant_user = RegistrantUser.new(registrant_ident: 'US-1234')
registrant_user.stub(:companies, [OpenStruct.new(registration_number: '1234')]) do
assert_equal [@contact], Contact.registrant_user_contacts(registrant_user)
end
end
end