diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index f56947c07..e97e810ab 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -29,6 +29,12 @@ class Epp::Domain < Domain active_admins = admin_domain_contacts.select { |x| !x.marked_for_destruction? } active_techs = tech_domain_contacts.select { |x| !x.marked_for_destruction? } + # Проверка количества админ контактов + if require_admin_contacts? && active_admins.empty? + add_epp_error('2306', 'contact', nil, 'Admin contacts are required') + ok = false + end + # validate registrant here as well ([Contact.find(registrant.id)] + active_admins + active_techs).each do |x| unless x.valid? diff --git a/test/integration/repp/v1/domains/contacts_test.rb b/test/integration/repp/v1/domains/contacts_test.rb index c473ac763..df472bad4 100644 --- a/test/integration/repp/v1/domains/contacts_test.rb +++ b/test/integration/repp/v1/domains/contacts_test.rb @@ -142,7 +142,7 @@ class ReppV1DomainsContactsTest < ActionDispatch::IntegrationTest @domain.reload assert_response :bad_request - assert_equal 2004, json[:code] + assert_equal 2306, json[:code] assert @domain.admin_contacts.any? end @@ -159,7 +159,7 @@ class ReppV1DomainsContactsTest < ActionDispatch::IntegrationTest json = JSON.parse(response.body, symbolize_names: true) assert_response :bad_request - assert_equal 2004, json[:code] + assert_equal 2306, json[:code] assert @domain.admin_contacts.any? end @@ -178,7 +178,7 @@ class ReppV1DomainsContactsTest < ActionDispatch::IntegrationTest json = JSON.parse(response.body, symbolize_names: true) assert_response :bad_request - assert_equal 2004, json[:code] + assert_equal 2306, json[:code] assert @domain.admin_contacts.any? end @@ -217,7 +217,7 @@ class ReppV1DomainsContactsTest < ActionDispatch::IntegrationTest json = JSON.parse(response.body, symbolize_names: true) assert_response :bad_request - assert_equal 2004, json[:code] + assert_equal 2306, json[:code] assert @domain.admin_contacts.any? end