From 9161e4caa5bc35d293c81bc2774ea8dd8cf6ef5e Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Tue, 16 Mar 2021 14:21:52 +0200 Subject: [PATCH 1/3] Test: added test for bulk renew ehrn domain has renew prohibited status --- .../repp/v1/domains/bulk_renew_test.rb | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/test/integration/repp/v1/domains/bulk_renew_test.rb b/test/integration/repp/v1/domains/bulk_renew_test.rb index 46e2fbf7d..15ebe892b 100644 --- a/test/integration/repp/v1/domains/bulk_renew_test.rb +++ b/test/integration/repp/v1/domains/bulk_renew_test.rb @@ -60,6 +60,20 @@ class ReppV1DomainsBulkRenewTest < ActionDispatch::IntegrationTest assert_equal domain.statuses, [DomainStatus::CLIENT_UPDATE_PROHIBITED, DomainStatus::SERVER_UPDATE_PROHIBITED] end + def test_multi_domains_сannot_be_renewed_with_renew_prohibited_status + array_domains = [domains(:shop), domains(:airport)] + payload = { + "domains": array_domains.pluck(:name), + "renew_period": "1y" + } + + array_domains.each do |domain| + set_status_for_domain(domain, [DomainStatus::CLIENT_RENEW_PROHIBITED, DomainStatus::SERVER_RENEW_PROHIBITED]) + end + + assert_renew_prohibited_domains(array_domains, payload) + end + def test_throws_error_when_domain_not_renewable payload = { "domains": [ @@ -111,4 +125,36 @@ class ReppV1DomainsBulkRenewTest < ActionDispatch::IntegrationTest assert_equal 2005, json[:code] assert_equal 'Invalid renew period', json[:message] end + + private + + def set_status_for_domain(domain, statuses) + domain.update(statuses: statuses) + + if statuses.size > 1 + statuses.each do |status| + assert domain.statuses.include? status + end + else + assert domain.statuses.include? statuses + end + end + + def bulk_renew(payload) + post "/repp/v1/domains/renew/bulk", headers: @auth_headers, params: payload + JSON.parse(response.body, symbolize_names: true) + end + + def assert_renew_prohibited_domains(domains, payload) + assert_no_changes -> { Domain.where(name: domains).pluck(:valid_to) } do + json = bulk_renew(payload) + + assert_response :bad_request + assert_equal 2002, json[:code] + assert domains.all? do |domain| + json[:message].include? "Domain renew error for #{domain.name}" + end + assert json[:data].empty? + end + end end From 80da2f6519a157d25ea259ef55ade02853a82b0c Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Tue, 16 Mar 2021 14:30:22 +0200 Subject: [PATCH 2/3] fixed domain version route --- config/routes.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index 949fcb345..2e9712347 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -247,7 +247,7 @@ Rails.application.routes.draw do end end - resources :version_domain_versions do + resources :version_domain_versions, path: '/domain_versions' do collection do get 'search' => 'domain_versions#search', via: [:get, :post], as: :search end @@ -259,7 +259,7 @@ Rails.application.routes.draw do end end - resources :version_contact_versions do + resources :version_domain_versions, path: '/domain_versions' do collection do get 'search' => 'contact_versions#search', via: [:get, :post], as: :search end From 224614b9832cc242e65835b7ca2ad51155139163 Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Tue, 16 Mar 2021 14:36:57 +0200 Subject: [PATCH 3/3] fixed domain version route --- config/routes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index 2e9712347..a9c38bf00 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -259,7 +259,7 @@ Rails.application.routes.draw do end end - resources :version_domain_versions, path: '/domain_versions' do + resources :version_contact_versions, path: '/contact_versions' do collection do get 'search' => 'contact_versions#search', via: [:get, :post], as: :search end