This commit is contained in:
Artur Beljajev 2019-01-07 02:46:20 +02:00
parent cad457fb72
commit ee864c807f
4 changed files with 20 additions and 7 deletions

View file

@ -7,17 +7,25 @@ module DNS
end
def unavailable?
blocked?
registered? || blocked?
end
def unavailability_reason
:blocked if blocked?
if registered?
:registered
elsif blocked?
:blocked
end
end
private
attr_reader :name
def registered?
Domain.find_by_idn(name)
end
def blocked?
BlockedDomain.where(name: name).any?
end

View file

@ -810,11 +810,7 @@ class Epp::Domain < Domain
next
end
if Domain.find_by_idn domain_name_as_string
result << { name: domain_name_as_string, avail: 0, reason: 'in use' }
else
result << { name: domain_name_as_string, avail: 1 }
end
result << { name: domain_name_as_string, avail: 1 }
end
result

View file

@ -196,6 +196,7 @@ en:
errors:
messages:
blank: 'is missing'
epp_domain_registered: in use
epp_domain_blocked: Blocked
epp_obj_does_not_exist: 'Object does not exist'
epp_authorization_error: 'Authorization error'

View file

@ -1,6 +1,14 @@
require 'test_helper'
class DNS::DomainNameTest < ActiveSupport::TestCase
def test_unavailable_when_registered
domain_name = DNS::DomainName.new('shop.test')
assert_equal 'shop.test', domains(:shop).name
assert domain_name.unavailable?
assert_equal :registered, domain_name.unavailability_reason
end
def test_unavailable_when_blocked
domain_name = DNS::DomainName.new('blocked.test')
assert_equal 'blocked.test', blocked_domains(:one).name