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 c55c06764..792b63a86 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,7 +2,7 @@ module Domains module CancelForceDelete class RestoreStatusesBeforeForceDelete < Base def execute - domain.statuses = domain.statuses_before_force_delete + domain.statuses = domain.statuses_before_force_delete || [] domain.statuses_before_force_delete = nil domain.save(validate: false) end diff --git a/test/integration/epp/domain/update/base_test.rb b/test/integration/epp/domain/update/base_test.rb index 644619644..bff325307 100644 --- a/test/integration/epp/domain/update/base_test.rb +++ b/test/integration/epp/domain/update/base_test.rb @@ -588,6 +588,50 @@ class EppDomainUpdateBaseTest < EppTestCase assert_no_emails end + def test_makes_update_if_was_forcedelete + contact = @domain.contacts.first + contact.update_attribute(:email, '`@outlook.test') + contact.email_verification.verify + assert contact.email_verification_failed? + @domain.reload + assert @domain.force_delete_scheduled? + + @domain.update_attribute(:statuses_before_force_delete, nil) + + Setting.request_confirmation_on_registrant_change_enabled = true + new_registrant = contacts(:william).becomes(Registrant) + assert_not_equal new_registrant, @domain.registrant + + request_xml = <<-XML + + + + + + #{@domain.name} + + #{new_registrant.code} + + + + + + #{'test' * 2000} + + + + + XML + + post epp_update_path, params: { frame: request_xml }, + headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + @domain.reload + + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + assert_epp_response :completed_successfully + end + def test_clears_force_delete_when_registrar_changed Setting.request_confirmation_on_registrant_change_enabled = true new_registrant = contacts(:william).becomes(Registrant)