Allow custom domain transfer code

#660
This commit is contained in:
Artur Beljajev 2018-01-25 13:19:01 +02:00
parent 1fdd3482f0
commit d3d4785240
2 changed files with 13 additions and 6 deletions

View file

@ -2,7 +2,7 @@ module Concerns::Domain::Transferable
extend ActiveSupport::Concern
included do
after_initialize :generate_transfer_code, if: :new_record?
after_initialize :generate_transfer_code, if: 'new_record? && transfer_code.blank?'
end
def transfer(new_registrar)

View file

@ -5,18 +5,20 @@ class DomainTest < ActiveSupport::TestCase
@domain = domains(:shop)
end
def test_rejects_absent_transfer_code
def test_invalid_without_transfer_code
@domain.transfer_code = nil
@domain.validate
assert @domain.invalid?
end
def test_generates_random_transfer_code_if_domain_is_new
def test_generates_default_transfer_code
domain = Domain.new
refute_empty domain.transfer_code
end
def test_generated_transfer_code_is_random
domain = Domain.new
another_domain = Domain.new
refute_empty domain.transfer_code
refute_empty another_domain.transfer_code
refute_equal domain.transfer_code, another_domain.transfer_code
end
@ -27,6 +29,11 @@ class DomainTest < ActiveSupport::TestCase
assert_equal original_transfer_code, @domain.transfer_code
end
def test_overrides_default_transfer_code
domain = Domain.new(transfer_code: '1bad4f')
assert_equal '1bad4f', domain.transfer_code
end
def test_changes_registrar
old_transfer_code = @domain.transfer_code
new_registrar = registrars(:goodnames)