Bypass validation on contact transfers

#701
This commit is contained in:
Artur Beljajev 2018-02-10 21:43:45 +02:00
parent 77d0ba71e1
commit 7997d34aea
4 changed files with 19 additions and 1 deletions

View file

@ -14,7 +14,7 @@ module Concerns::Contact::Transferable
new_contact.regenerate_code
new_contact.regenerate_auth_info
new_contact.remove_address unless self.class.address_processing?
new_contact.save!
new_contact.save(validate: false)
new_contact
end

View file

@ -30,3 +30,9 @@ acme_ltd:
ident_country_code: US
code: acme-ltd-001
auth_info: 720b3c
invalid:
name: any
code: any
auth_info: any
registrar: bestnames

View file

@ -8,4 +8,8 @@ class ContactTest < ActiveSupport::TestCase
def test_validates
assert @contact.valid?
end
def test_invalid_fixture_is_invalid
assert contacts(:invalid).invalid?
end
end

View file

@ -48,6 +48,14 @@ class ContactTransferTest < ActiveSupport::TestCase
end
end
def test_bypasses_validation
@contact = contacts(:invalid)
assert_difference 'Contact.count' do
@contact.transfer(@new_registrar)
end
end
def test_changes_registrar
new_contact = @contact.transfer(@new_registrar)
assert_equal @new_registrar, new_contact.registrar