mirror of
https://github.com/internetee/registry.git
synced 2025-06-06 04:37:30 +02:00
added tests
This commit is contained in:
parent
3f8a99d8ca
commit
1cc6f2576f
6 changed files with 55 additions and 9 deletions
|
@ -40,7 +40,6 @@ module Domain::RegistryLockable
|
|||
end
|
||||
self.locked_by_registrant_at = nil
|
||||
self.statuses = admin_store_statuses_history || []
|
||||
admin_store_statuses_history = nil
|
||||
alert_registrar_lock_changes!(lock: false)
|
||||
|
||||
save!
|
||||
|
|
|
@ -12,6 +12,10 @@ class Domain < ApplicationRecord
|
|||
include Domain::Disputable
|
||||
include Domain::BulkUpdatable
|
||||
|
||||
LOCK_STATUSES = [DomainStatus::SERVER_UPDATE_PROHIBITED,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED].freeze
|
||||
|
||||
attr_accessor :roles
|
||||
|
||||
attr_accessor :legal_document_id
|
||||
|
@ -557,17 +561,14 @@ class Domain < ApplicationRecord
|
|||
|
||||
# special handling for admin changing status
|
||||
def admin_status_update(update)
|
||||
lock_statuses = [DomainStatus::SERVER_UPDATE_PROHIBITED,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED]
|
||||
# check for deleted status
|
||||
update(admin_store_statuses_history: update) unless locked_by_registrant?
|
||||
|
||||
if locked_by_registrant?
|
||||
result = update.reject { |status| lock_statuses.include? status }
|
||||
result = update.reject { |status| LOCK_STATUSES.include? status }
|
||||
update(admin_store_statuses_history: result)
|
||||
|
||||
end
|
||||
|
||||
statuses.each do |s|
|
||||
unless update.include? s
|
||||
case s
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
class TransferDataFromDomainStatusesToAdminStatusHistory < ActiveRecord::Migration[6.0]
|
||||
def up
|
||||
domains = Domain.all.select { |d| !d.locked_by_registrant?}
|
||||
domains.each do |domain|
|
||||
domain.admin_store_statuses_history = domain.statuses
|
||||
domain.save
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
# raise ActiveRecord::IrreversibleMigration
|
||||
end
|
||||
end
|
|
@ -1,2 +1,2 @@
|
|||
# encoding: UTF-8
|
||||
DataMigrate::Data.define(version: 20210406083149)
|
||||
DataMigrate::Data.define(version: 20210407140317)
|
||||
|
|
|
@ -3,7 +3,6 @@ require 'test_helper'
|
|||
class DomainRegistryLockableTest < ActiveSupport::TestCase
|
||||
def setup
|
||||
super
|
||||
|
||||
@domain = domains(:airport)
|
||||
end
|
||||
|
||||
|
@ -33,6 +32,24 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase
|
|||
assert_not(@domain.locked_by_registrant?)
|
||||
end
|
||||
|
||||
def test_remove_lockalable_statuses_after_admin_intervention
|
||||
@domain.apply_registry_lock
|
||||
assert @domain.locked_by_registrant?
|
||||
assert_equal @domain.statuses.sort, Domain::RegistryLockable::LOCK_STATUSES.sort
|
||||
|
||||
deleted_status = @domain.statuses - [DomainStatus::SERVER_DELETE_PROHIBITED]
|
||||
@domain.update(statuses: deleted_status)
|
||||
assert_not @domain.locked_by_registrant?
|
||||
|
||||
@domain.apply_registry_lock
|
||||
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_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]
|
||||
|
@ -49,6 +66,22 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase
|
|||
assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
end
|
||||
|
||||
def test_add_additinal_status_for_locked_domain
|
||||
@domain.apply_registry_lock
|
||||
assert @domain.locked_by_registrant?
|
||||
assert_equal @domain.statuses.sort, Domain::RegistryLockable::LOCK_STATUSES.sort
|
||||
|
||||
@domain.statuses += [DomainStatus::SERVER_RENEW_PROHIBITED]
|
||||
@domain.admin_store_statuses_history = [DomainStatus::SERVER_RENEW_PROHIBITED]
|
||||
@domain.save
|
||||
|
||||
@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_TRANSFER_PROHIBITED
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
end
|
||||
|
||||
def test_registry_lock_on_lockable_domain
|
||||
refute(@domain.locked_by_registrant?)
|
||||
@domain.apply_registry_lock
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue