From 622dba4f1c9b3528c5e9ef216135100226a3ebeb Mon Sep 17 00:00:00 2001 From: olegphenomenon Date: Wed, 15 Sep 2021 14:29:59 +0300 Subject: [PATCH 1/4] init --- .idea/.gitignore | 8 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + .idea/registry.iml | 148 +++++++++++++++++++ .idea/vcs.xml | 6 + app/models/registrant_user.rb | 7 +- test/models/domain/registry_lockable_test.rb | 13 ++ 7 files changed, 191 insertions(+), 3 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/registry.iml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..73f69e095 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000..fbdc941de --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..522f775f7 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/registry.iml b/.idea/registry.iml new file mode 100644 index 000000000..452ddb22e --- /dev/null +++ b/.idea/registry.iml @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..94a25f7f4 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/models/registrant_user.rb b/app/models/registrant_user.rb index f7e85c5af..82ace6e89 100644 --- a/app/models/registrant_user.rb +++ b/app/models/registrant_user.rb @@ -17,12 +17,13 @@ class RegistrantUser < User Country.new(alpha2_code) end - def companies(company_register = CompanyRegister::Client.new) + def companies(company_register = nil) return [] if ident.include?('-') - company_register.representation_rights(citizen_personal_code: ident, - citizen_country_code: country.alpha3) + [OpenStruct.new(registration_number: '43344412', company_name: 'TestFirma'), + OpenStruct.new(registration_number: '12345678', company_name: 'SuperFirma OU')] end + def contacts(representable: true) Contact.registrant_user_contacts(self, representable: representable) diff --git a/test/models/domain/registry_lockable_test.rb b/test/models/domain/registry_lockable_test.rb index c8ea69fd1..e4398762f 100644 --- a/test/models/domain/registry_lockable_test.rb +++ b/test/models/domain/registry_lockable_test.rb @@ -146,6 +146,19 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase refute(@domain.remove_registry_lock) end + def test_set_lock_for_domain_with_force_delete_status + @domain.schedule_force_delete(type: :soft) + @domain.reload + + assert @domain.force_delete_scheduled? + + assert @domain.apply_registry_lock + + assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + end + private def check_statuses_lockable_domain From 09eab21d2b578614f54b249a6e1901c7f7de33cb Mon Sep 17 00:00:00 2001 From: olegphenomenon Date: Thu, 23 Sep 2021 11:01:34 +0300 Subject: [PATCH 2/4] added test and saving statuses into histroy field --- .idea/.gitignore | 8 - .idea/misc.xml | 4 - .idea/modules.xml | 8 - .idea/registry.iml | 148 ------------------ .idea/vcs.xml | 6 - .../concerns/domain/registry_lockable.rb | 4 +- app/models/domain.rb | 2 +- app/models/registrant_user.rb | 7 +- test/models/domain/registry_lockable_test.rb | 30 +++- 9 files changed, 34 insertions(+), 183 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/registry.iml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 73f69e095..000000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml -# Editor-based HTTP Client requests -/httpRequests/ diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index fbdc941de..000000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 522f775f7..000000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/registry.iml b/.idea/registry.iml deleted file mode 100644 index 452ddb22e..000000000 --- a/.idea/registry.iml +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7f4..000000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/models/concerns/domain/registry_lockable.rb b/app/models/concerns/domain/registry_lockable.rb index 240694d8e..f34741a22 100644 --- a/app/models/concerns/domain/registry_lockable.rb +++ b/app/models/concerns/domain/registry_lockable.rb @@ -12,11 +12,11 @@ module Domain::RegistryLockable end def apply_registry_lock - # binding.pry return unless registry_lockable? return if locked_by_registrant? transaction do + self.admin_store_statuses_history = self.statuses self.statuses |= LOCK_STATUSES self.locked_by_registrant_at = Time.zone.now alert_registrar_lock_changes!(lock: true) @@ -29,7 +29,7 @@ module Domain::RegistryLockable (statuses & [DomainStatus::PENDING_DELETE_CONFIRMATION, DomainStatus::PENDING_CREATE, DomainStatus::PENDING_UPDATE, DomainStatus::PENDING_DELETE, DomainStatus::PENDING_RENEW, - DomainStatus::PENDING_TRANSFER, DomainStatus::FORCE_DELETE]).empty? + DomainStatus::PENDING_TRANSFER]).empty? end def locked_by_registrant? diff --git a/app/models/domain.rb b/app/models/domain.rb index 703bfadcf..5e8a284d5 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -122,7 +122,7 @@ class Domain < ApplicationRecord def status_is_consistant has_error = (hold_status? && statuses.include?(DomainStatus::SERVER_MANUAL_INZONE)) if !has_error && (statuses & DELETE_STATUSES).any? - has_error = statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED + has_error = statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED unless locked_by_registrant? end errors.add(:domains, I18n.t(:object_status_prohibits_operation)) if has_error end diff --git a/app/models/registrant_user.rb b/app/models/registrant_user.rb index 82ace6e89..f7e85c5af 100644 --- a/app/models/registrant_user.rb +++ b/app/models/registrant_user.rb @@ -17,13 +17,12 @@ class RegistrantUser < User Country.new(alpha2_code) end - def companies(company_register = nil) + def companies(company_register = CompanyRegister::Client.new) return [] if ident.include?('-') - [OpenStruct.new(registration_number: '43344412', company_name: 'TestFirma'), - OpenStruct.new(registration_number: '12345678', company_name: 'SuperFirma OU')] + company_register.representation_rights(citizen_personal_code: ident, + citizen_country_code: country.alpha3) end - def contacts(representable: true) Contact.registrant_user_contacts(self, representable: representable) diff --git a/test/models/domain/registry_lockable_test.rb b/test/models/domain/registry_lockable_test.rb index e4398762f..ed1a7d6f2 100644 --- a/test/models/domain/registry_lockable_test.rb +++ b/test/models/domain/registry_lockable_test.rb @@ -30,8 +30,8 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase assert @domain.locked_by_registrant? @domain.remove_registry_lock - assert_not @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED - assert_not @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED end @@ -156,6 +156,32 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + + @domain.remove_registry_lock + + assert @domain.statuses.include? DomainStatus::FORCE_DELETE + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED + end + + def test_set_force_delete_for_locked_domain + assert @domain.apply_registry_lock + + @domain.schedule_force_delete(type: :soft) + @domain.reload + + assert @domain.force_delete_scheduled? + + assert @domain.statuses.include? DomainStatus::FORCE_DELETE + assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + + @domain.cancel_force_delete + + assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED end From a896e78e510bdd0ff87e5cbc66abb666d2dcd5e4 Mon Sep 17 00:00:00 2001 From: olegphenomenon Date: Fri, 24 Sep 2021 14:18:39 +0300 Subject: [PATCH 3/4] updated tests --- .../remove_force_delete_statuses.rb | 5 ++ .../restore_statuses_before_force_delete.rb | 6 +- .../concerns/domain/registry_lockable.rb | 3 + app/models/registrant_user.rb | 2 +- config/application.yml.sample | 4 +- .../registrant_api_registry_locks_test.rb | 4 +- ...lace_upd_to_obj_upd_prohibited_job_test.rb | 2 +- test/models/domain/registry_lockable_test.rb | 73 ++++++++++++++----- test/models/feature_test.rb | 4 +- 9 files changed, 75 insertions(+), 28 deletions(-) diff --git a/app/interactions/domains/cancel_force_delete/remove_force_delete_statuses.rb b/app/interactions/domains/cancel_force_delete/remove_force_delete_statuses.rb index adb310e51..4f4f1645c 100644 --- a/app/interactions/domains/cancel_force_delete/remove_force_delete_statuses.rb +++ b/app/interactions/domains/cancel_force_delete/remove_force_delete_statuses.rb @@ -6,6 +6,11 @@ module Domains DomainStatus::SERVER_RENEW_PROHIBITED, DomainStatus::SERVER_TRANSFER_PROHIBITED, DomainStatus::CLIENT_HOLD] + domain.force_delete_domain_statuses_history += [ DomainStatus::SERVER_TRANSFER_PROHIBITED, + DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED, + DomainStatus::SERVER_DELETE_PROHIBITED + ] if domain.locked_by_registrant? + domain.admin_store_statuses_history -= domain_statuses unless domain.admin_store_statuses_history.nil? rejected_statuses = domain.statuses.reject { |a| domain_statuses.include? a } domain.statuses = rejected_statuses domain.save(validate: false) diff --git a/app/interactions/domains/cancel_force_delete/restore_statuses_before_force_delete.rb b/app/interactions/domains/cancel_force_delete/restore_statuses_before_force_delete.rb index d521bfcba..3c2579890 100644 --- a/app/interactions/domains/cancel_force_delete/restore_statuses_before_force_delete.rb +++ b/app/interactions/domains/cancel_force_delete/restore_statuses_before_force_delete.rb @@ -2,9 +2,13 @@ module Domains module CancelForceDelete class RestoreStatusesBeforeForceDelete < Base def execute - domain.statuses = domain.force_delete_domain_statuses_history || [] + domain.statuses += domain.force_delete_domain_statuses_history || [] + domain.statuses += domain.admin_store_statuses_history || [] + domain.statuses.uniq! + domain.statuses_before_force_delete = nil domain.force_delete_domain_statuses_history = nil + domain.admin_store_statuses_history = nil domain.save(validate: false) end end diff --git a/app/models/concerns/domain/registry_lockable.rb b/app/models/concerns/domain/registry_lockable.rb index 716486f35..f7a2550dc 100644 --- a/app/models/concerns/domain/registry_lockable.rb +++ b/app/models/concerns/domain/registry_lockable.rb @@ -23,6 +23,7 @@ module Domain::RegistryLockable end def apply_statuses_locked_statuses(extensions_prohibited:) + self.admin_store_statuses_history = self.statuses self.statuses |= LOCK_STATUSES self.statuses |= EXTENSIONS_STATUS if Feature.obj_and_extensions_statuses_enabled? && extensions_prohibited self.locked_by_registrant_at = Time.zone.now @@ -53,6 +54,8 @@ module Domain::RegistryLockable end def remove_statuses_from_locked_domain + # binding.pry + # self.admin_store_statuses_history = self.statuses LOCK_STATUSES.each do |domain_status| statuses.delete([domain_status]) end diff --git a/app/models/registrant_user.rb b/app/models/registrant_user.rb index 57a2f58ab..f7e85c5af 100644 --- a/app/models/registrant_user.rb +++ b/app/models/registrant_user.rb @@ -23,7 +23,7 @@ class RegistrantUser < User company_register.representation_rights(citizen_personal_code: ident, citizen_country_code: country.alpha3) end - + def contacts(representable: true) Contact.registrant_user_contacts(self, representable: representable) end diff --git a/config/application.yml.sample b/config/application.yml.sample index 1da894b5f..aa86325f1 100644 --- a/config/application.yml.sample +++ b/config/application.yml.sample @@ -59,8 +59,8 @@ contact_org_enabled: 'false' # System default for legal document types is: pdf,asice,sce,asics,scs,adoc,edoc,bdoc,ddoc,zip,rar,gz,tar,7z,odt,doc,docx # legal_document_types: "pdf,asice,sce,asics,scs,adoc,edoc,bdoc,ddoc,zip,rar,gz,tar,7z,odt,doc,docx" -# obj_and_extensions_prohibited: 'true' -# enable_lock_domain_with_new_statuses: 'true' +obj_and_extensions_prohibited: 'true' +enable_lock_domain_with_new_statuses: 'true' # # REGISTRAR configuration (DEPP) diff --git a/test/integration/api/registrant/registrant_api_registry_locks_test.rb b/test/integration/api/registrant/registrant_api_registry_locks_test.rb index 3499711a7..20d64f32b 100644 --- a/test/integration/api/registrant/registrant_api_registry_locks_test.rb +++ b/test/integration/api/registrant/registrant_api_registry_locks_test.rb @@ -18,7 +18,7 @@ class RegistrantApiRegistryLocksTest < ApplicationIntegrationTest assert(response_json[:statuses].include?(DomainStatus::SERVER_DELETE_PROHIBITED)) assert(response_json[:statuses].include?(DomainStatus::SERVER_TRANSFER_PROHIBITED)) - assert(response_json[:statuses].include?(DomainStatus::SERVER_UPDATE_PROHIBITED)) + assert(response_json[:statuses].include?(DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED)) @domain.reload assert(@domain.locked_by_registrant?) @@ -115,7 +115,7 @@ class RegistrantApiRegistryLocksTest < ApplicationIntegrationTest assert(response_json[:statuses].include?(DomainStatus::SERVER_DELETE_PROHIBITED)) assert(response_json[:statuses].include?(DomainStatus::SERVER_TRANSFER_PROHIBITED)) - assert(response_json[:statuses].include?(DomainStatus::SERVER_UPDATE_PROHIBITED)) + assert(response_json[:statuses].include?(DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED)) end def test_locking_domains_returns_serialized_domain_object diff --git a/test/jobs/replace_upd_to_obj_upd_prohibited_job_test.rb b/test/jobs/replace_upd_to_obj_upd_prohibited_job_test.rb index 16d6ed367..a49f55380 100644 --- a/test/jobs/replace_upd_to_obj_upd_prohibited_job_test.rb +++ b/test/jobs/replace_upd_to_obj_upd_prohibited_job_test.rb @@ -23,7 +23,7 @@ class ReplaceUpdToObjUpdProhibitedJobTest < ActiveSupport::TestCase def test_start_adding_new_status_for_locked_domains @domain.apply_registry_lock(extensions_prohibited: false) assert @domain.locked_by_registrant? - assert @domain.statuses.include? "serverUpdateProhibited" + assert @domain.statuses.include? "serverObjUpdateProhibited" # @domain.statuses += ["serverObjUpdateProhibited"] # @domain.save diff --git a/test/models/domain/registry_lockable_test.rb b/test/models/domain/registry_lockable_test.rb index d5c801e24..bfd6d9192 100644 --- a/test/models/domain/registry_lockable_test.rb +++ b/test/models/domain/registry_lockable_test.rb @@ -30,23 +30,23 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase assert @domain.locked_by_registrant? @domain.remove_registry_lock - assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED end def test_restore_domain_statuses_after_unlock - @domain.statuses = [DomainStatus::SERVER_UPDATE_PROHIBITED] - @domain.admin_store_statuses_history = [DomainStatus::SERVER_UPDATE_PROHIBITED] + @domain.statuses = [DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED] + @domain.admin_store_statuses_history = [DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED] @domain.save - assert @domain.admin_store_statuses_history.include? DomainStatus::SERVER_UPDATE_PROHIBITED + assert @domain.admin_store_statuses_history.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED @domain.apply_registry_lock(extensions_prohibited: false) assert @domain.locked_by_registrant? assert_equal @domain.statuses.sort, Domain::RegistryLockable::LOCK_STATUSES.sort @domain.remove_registry_lock - assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED assert_not @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED end @@ -62,7 +62,7 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase @domain.remove_registry_lock assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED - assert_not @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + assert_not @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED assert_not @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED end @@ -73,12 +73,12 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase check_statuses_lockable_domain assert(@domain.locked_by_registrant?) - statuses = @domain.statuses - [DomainStatus::SERVER_UPDATE_PROHIBITED] + statuses = @domain.statuses - [DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED] @domain.update(statuses: statuses) assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED - assert_not @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + assert_not @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED assert_not(@domain.locked_by_registrant?) end @@ -88,7 +88,7 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase @domain.apply_registry_lock(extensions_prohibited: false) assert_equal( - [DomainStatus::SERVER_UPDATE_PROHIBITED, + [DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED, DomainStatus::SERVER_DELETE_PROHIBITED, DomainStatus::SERVER_TRANSFER_PROHIBITED], @domain.statuses @@ -116,7 +116,7 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase @domain.apply_registry_lock(extensions_prohibited: false) assert_equal( - [DomainStatus::SERVER_UPDATE_PROHIBITED, + [DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED, DomainStatus::SERVER_DELETE_PROHIBITED, DomainStatus::SERVER_TRANSFER_PROHIBITED], @domain.statuses @@ -139,7 +139,7 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase end def test_registry_lock_cannot_be_removed_if_statuses_were_set_by_admin - @domain.statuses << DomainStatus::SERVER_UPDATE_PROHIBITED + @domain.statuses << DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED @domain.statuses << DomainStatus::SERVER_DELETE_PROHIBITED @domain.statuses << DomainStatus::SERVER_TRANSFER_PROHIBITED @@ -152,11 +152,17 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase assert @domain.force_delete_scheduled? - assert @domain.apply_registry_lock + assert @domain.statuses.include? DomainStatus::FORCE_DELETE + assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + assert @domain.apply_registry_lock(extensions_prohibited: false) + + assert @domain.statuses.include? DomainStatus::FORCE_DELETE assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED - assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED @domain.remove_registry_lock @@ -165,8 +171,37 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED end - def test_set_force_delete_for_locked_domain - assert @domain.apply_registry_lock + def test_set_lock_for_domain_with_fd_status_and_remov_fd + @domain.schedule_force_delete(type: :soft) + @domain.reload + + assert @domain.force_delete_scheduled? + + assert @domain.statuses.include? DomainStatus::FORCE_DELETE + assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + + assert @domain.apply_registry_lock(extensions_prohibited: false) + + assert @domain.statuses.include? DomainStatus::FORCE_DELETE + assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED + + @domain.cancel_force_delete + + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED + end + + def test_set_force_delete_for_locked_domain__and_remove_fc + assert @domain.apply_registry_lock(extensions_prohibited: false) + + assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED @domain.schedule_force_delete(type: :soft) @domain.reload @@ -176,19 +211,19 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase assert @domain.statuses.include? DomainStatus::FORCE_DELETE assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED - assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED @domain.cancel_force_delete - assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED - assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED + assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED end private def check_statuses_lockable_domain - lock_statuses = [DomainStatus::SERVER_UPDATE_PROHIBITED, + lock_statuses = [DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED, DomainStatus::SERVER_DELETE_PROHIBITED, DomainStatus::SERVER_TRANSFER_PROHIBITED] diff --git a/test/models/feature_test.rb b/test/models/feature_test.rb index d910ac140..dd338b3c3 100644 --- a/test/models/feature_test.rb +++ b/test/models/feature_test.rb @@ -38,7 +38,7 @@ class FeatureTest < ActiveSupport::TestCase assert_not Feature.enable_lock_domain_with_new_statuses? - assert_equal @domain.statuses, ["serverUpdateProhibited", "serverDeleteProhibited", "serverTransferProhibited"] + assert_equal @domain.statuses, ["serverObjUpdateProhibited", "serverDeleteProhibited", "serverTransferProhibited"] assert @domain.locked_by_registrant? end @@ -47,7 +47,7 @@ class FeatureTest < ActiveSupport::TestCase assert_not Feature.enable_lock_domain_with_new_statuses? - assert_equal @domain.statuses, ["serverUpdateProhibited", "serverDeleteProhibited", "serverTransferProhibited"] + assert_equal @domain.statuses, ["serverObjUpdateProhibited", "serverDeleteProhibited", "serverTransferProhibited"] assert @domain.locked_by_registrant? end end From f378900f5f2c1ff7506e2305e2ba8a89885adaf3 Mon Sep 17 00:00:00 2001 From: olegphenomenon Date: Mon, 18 Oct 2021 09:34:51 +0300 Subject: [PATCH 4/4] removed unnecessary comments --- app/models/concerns/domain/registry_lockable.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/models/concerns/domain/registry_lockable.rb b/app/models/concerns/domain/registry_lockable.rb index f7a2550dc..d61e7cf91 100644 --- a/app/models/concerns/domain/registry_lockable.rb +++ b/app/models/concerns/domain/registry_lockable.rb @@ -54,8 +54,6 @@ module Domain::RegistryLockable end def remove_statuses_from_locked_domain - # binding.pry - # self.admin_store_statuses_history = self.statuses LOCK_STATUSES.each do |domain_status| statuses.delete([domain_status]) end