Fix tests

This commit is contained in:
Karl Erik Õunapuu 2020-10-29 11:11:39 +02:00
parent 7b258f8e79
commit e1d2fb45d5
No known key found for this signature in database
GPG key ID: C9DD647298A34764
2 changed files with 23 additions and 5 deletions

View file

@ -2,7 +2,6 @@ class RegistrantUser < User
attr_accessor :idc_data
devise :trackable, :timeoutable
after_save :update_related_contacts
def ability
@ability ||= Ability.new(self)
@ -56,8 +55,7 @@ class RegistrantUser < User
end
def update_related_contacts
cc, idcode = registrant_ident.split('-')
contacts = Contact.where(ident: idcode, country_code: cc)
contacts = Contact.where(ident: ident, country_code: country_code)
.where('UPPER(name) != UPPER(?)', username)
contacts.each { |c| c.update(name: username) }
@ -100,6 +98,7 @@ class RegistrantUser < User
user.username = "#{user_data[:first_name]} #{user_data[:last_name]}"
user.save
user.update_related_contacts
user
end
end

View file

@ -14,7 +14,7 @@ class RegistrantUserCreationTest < ActiveSupport::TestCase
assert_equal('JOHN SMITH', user.username)
end
def test_find_or_create_by_api_data_creates_a_user_after_upcasing_input
def test_find_or_create_by_api_data_creates_a_user_with_original_name
user_data = {
ident: '37710100070',
first_name: 'John',
@ -24,6 +24,25 @@ class RegistrantUserCreationTest < ActiveSupport::TestCase
RegistrantUser.find_or_create_by_api_data(user_data)
user = User.find_by(registrant_ident: 'EE-37710100070')
assert_equal('JOHN SMITH', user.username)
assert_equal('John Smith', user.username)
end
def test_updates_related_contacts_name_if_differs_from_e_identity
contact = contacts(:john)
contact.update(ident: '39708290276', ident_country_code: 'EE')
user_data = {
ident: '39708290276',
first_name: 'John',
last_name: 'Doe'
}
RegistrantUser.find_or_create_by_api_data(user_data)
user = User.find_by(registrant_ident: 'EE-39708290276')
assert_equal('John Doe', user.username)
contact.reload
assert_equal user.username, contact.name
end
end