From 77b9d02b5db744061899a38bc16f79ce9af9bf4d Mon Sep 17 00:00:00 2001 From: dinsmol Date: Wed, 8 Dec 2021 23:03:25 +0300 Subject: [PATCH] Add tests --- app/models/domain.rb | 2 ++ .../admin_area/domains/force_delete_test.rb | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/app/models/domain.rb b/app/models/domain.rb index 5e8a284d5..f5372e29b 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -592,6 +592,8 @@ class Domain < ApplicationRecord def admin_status_update(update) update_unless_locked_by_registrant(update) update_not_by_locked_statuses(update) + return unless update + # check for deleted status statuses.each do |s| unless update.include? s diff --git a/test/system/admin_area/domains/force_delete_test.rb b/test/system/admin_area/domains/force_delete_test.rb index 3ddd0b267..81029e180 100644 --- a/test/system/admin_area/domains/force_delete_test.rb +++ b/test/system/admin_area/domains/force_delete_test.rb @@ -21,6 +21,31 @@ class AdminAreaDomainForceDeleteTest < ApplicationSystemTestCase assert_text 'Force delete procedure has been scheduled' end + def test_schedules_domain_force_delete_two + refute @domain.force_delete_scheduled? + + visit edit_admin_domain_url(@domain) + click_link_or_button 'Force delete domain' + @domain.reload + + assert @domain.force_delete_scheduled? + assert_current_path edit_admin_domain_path(@domain) + assert_text 'Force delete procedure has been scheduled' + + click_link_or_button 'Add new status' + last_input = page.all(:id, 'domain_statuses_').last + last_input.find(:xpath, 'option[10]').select_option + click_link_or_button 'Save' + assert_text 'Failed to update domain' + + click_link_or_button 'Cancel force delete' + @domain.reload + + refute @domain.force_delete_scheduled? + assert_current_path edit_admin_domain_path(@domain) + assert_text 'Force delete procedure has been cancelled' + end + def test_notifies_registrar assert_difference '@domain.registrar.notifications.size' do visit edit_admin_domain_url(@domain)