diff --git a/app/models/concerns/domain/registry_lockable.rb b/app/models/concerns/domain/registry_lockable.rb index 2e80b7dda..03e884bda 100644 --- a/app/models/concerns/domain/registry_lockable.rb +++ b/app/models/concerns/domain/registry_lockable.rb @@ -6,9 +6,18 @@ module Domain::RegistryLockable return if locked_by_registrant? transaction do - statuses << DomainStatus::SERVER_UPDATE_PROHIBITED - statuses << DomainStatus::SERVER_DELETE_PROHIBITED - statuses << DomainStatus::SERVER_TRANSFER_PROHIBITED + if !statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED + statuses << DomainStatus::SERVER_UPDATE_PROHIBITED + end + + if !statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED + statuses << DomainStatus::SERVER_DELETE_PROHIBITED + end + + if !statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED + statuses << DomainStatus::SERVER_TRANSFER_PROHIBITED + end + self.locked_by_registrant_at = Time.zone.now alert_registrar_lock_changes!(lock: true) diff --git a/test/models/domain/registry_lockable_test.rb b/test/models/domain/registry_lockable_test.rb index 65b403795..94314c592 100644 --- a/test/models/domain/registry_lockable_test.rb +++ b/test/models/domain/registry_lockable_test.rb @@ -30,7 +30,7 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED assert_not @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED - assert(@domain.locked_by_registrant?) + assert_not(@domain.locked_by_registrant?) end def test_registry_lock_on_lockable_domain @@ -99,11 +99,11 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase private def check_statuses_lockable_domain - assert_equal( - [DomainStatus::SERVER_UPDATE_PROHIBITED, - DomainStatus::SERVER_DELETE_PROHIBITED, - DomainStatus::SERVER_TRANSFER_PROHIBITED], - @domain.statuses - ) + lock_statuses = [DomainStatus::SERVER_UPDATE_PROHIBITED, + DomainStatus::SERVER_DELETE_PROHIBITED, + DomainStatus::SERVER_TRANSFER_PROHIBITED] + + @domain.statuses.include? lock_statuses + end end