added clear json history method, added failed tests for force delete

This commit is contained in:
Oleg Hasjanov 2021-04-05 18:04:29 +03:00
parent 9bfdb0fb39
commit b2cfc90f4f
3 changed files with 39 additions and 0 deletions

View file

@ -41,6 +41,7 @@ module Domain::RegistryLockable
delete_domain_statuses_which_not_declared_before domain_status
end
self.locked_by_registrant_at = nil
clear_locked_domain_statuses_history
alert_registrar_lock_changes!(lock: false)
save!
@ -68,4 +69,8 @@ module Domain::RegistryLockable
def delete_domain_statuses_which_not_declared_before(domain_status)
statuses.delete(domain_status) unless locked_domain_statuses_history.include? domain_status
end
def clear_locked_domain_statuses_history
self.locked_domain_statuses_history = nil
end
end

View file

@ -12,6 +12,28 @@ class ForceDeleteTest < ActionMailer::TestCase
Truemail.configure.default_validation_type = @old_validation_type
end
def test_restore_domain_statuses_after_soft_force_delete
@domain.update(statuses: [DomainStatus::SERVER_RENEW_PROHIBITED])
@domain.schedule_force_delete(type: :soft)
assert @domain.force_delete_scheduled?
assert @domain.force_delete_domain_statuses_history.include? DomainStatus::SERVER_RENEW_PROHIBITED
@domain.cancel_force_delete
assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED
end
def test_clear_force_delete_domain_statuses_history
@domain.update(statuses: [DomainStatus::SERVER_RENEW_PROHIBITED])
@domain.schedule_force_delete(type: :soft)
assert @domain.force_delete_scheduled?
assert @domain.force_delete_domain_statuses_history.include? DomainStatus::SERVER_RENEW_PROHIBITED
@domain.cancel_force_delete
assert_nil @domain.force_delete_domain_statuses_history
end
def test_schedules_force_delete_fast_track
assert_not @domain.force_delete_scheduled?
travel_to Time.zone.parse('2010-07-05')

View file

@ -38,11 +38,23 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase
@domain.apply_registry_lock
assert @domain.locked_by_registrant?
assert_equal @domain.statuses.sort, Domain::RegistryLockable::LOCK_STATUSES.sort
assert @domain.locked_domain_statuses_history.include? DomainStatus::SERVER_UPDATE_PROHIBITED
@domain.remove_registry_lock
assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
end
def test_clear_locked_domain_statuses_history
@domain.update(statuses: [DomainStatus::SERVER_UPDATE_PROHIBITED])
@domain.apply_registry_lock
assert @domain.locked_by_registrant?
assert @domain.locked_domain_statuses_history.include? DomainStatus::SERVER_UPDATE_PROHIBITED
@domain.remove_registry_lock
assert_nil @domain.locked_domain_statuses_history
end
def test_registry_lock_on_lockable_domain
refute(@domain.locked_by_registrant?)
@domain.apply_registry_lock