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 end
def unavailable? def unavailable?
blocked? registered? || blocked?
end end
def unavailability_reason def unavailability_reason
:blocked if blocked? if registered?
:registered
elsif blocked?
:blocked
end
end end
private private
attr_reader :name attr_reader :name
def registered?
Domain.find_by_idn(name)
end
def blocked? def blocked?
BlockedDomain.where(name: name).any? BlockedDomain.where(name: name).any?
end end

View file

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

View file

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

View file

@ -1,6 +1,14 @@
require 'test_helper' require 'test_helper'
class DNS::DomainNameTest < ActiveSupport::TestCase 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 def test_unavailable_when_blocked
domain_name = DNS::DomainName.new('blocked.test') domain_name = DNS::DomainName.new('blocked.test')
assert_equal 'blocked.test', blocked_domains(:one).name assert_equal 'blocked.test', blocked_domains(:one).name