diff --git a/app/interactions/domains/update_confirm/base.rb b/app/interactions/domains/update_confirm/base.rb index ab5584c03..0e1fa81d3 100644 --- a/app/interactions/domains/update_confirm/base.rb +++ b/app/interactions/domains/update_confirm/base.rb @@ -33,10 +33,12 @@ module Domains end def clean_pendings! + domain.is_admin = true domain.registrant_verification_token = nil domain.registrant_verification_asked_at = nil domain.pending_json = {} clear_statuses + domain.save end def clear_statuses diff --git a/app/interactions/domains/update_confirm/process_update_confirmed.rb b/app/interactions/domains/update_confirm/process_update_confirmed.rb index a4ceb1d3e..cb69d042e 100644 --- a/app/interactions/domains/update_confirm/process_update_confirmed.rb +++ b/app/interactions/domains/update_confirm/process_update_confirmed.rb @@ -3,7 +3,6 @@ module Domains class ProcessUpdateConfirmed < Base def execute ActiveRecord::Base.transaction do - domain.is_admin = true old_registrant = domain.registrant notify_registrar(:poll_pending_update_confirmed_by_registrant) @@ -17,7 +16,6 @@ module Domains preclean_pendings update_domain clean_pendings! - domain.save(validate: false) WhoisRecord.find_by(domain_id: domain.id).save # need to reload model end diff --git a/app/interactions/domains/update_confirm/process_update_rejected.rb b/app/interactions/domains/update_confirm/process_update_rejected.rb index 5ce818e66..1d7b75b0e 100644 --- a/app/interactions/domains/update_confirm/process_update_rejected.rb +++ b/app/interactions/domains/update_confirm/process_update_rejected.rb @@ -11,7 +11,6 @@ module Domains preclean_pendings clean_pendings! - domain.save(validate: false) end end end diff --git a/test/jobs/domain_update_confirm_job_test.rb b/test/jobs/domain_update_confirm_job_test.rb index 38aaa5339..afffae157 100644 --- a/test/jobs/domain_update_confirm_job_test.rb +++ b/test/jobs/domain_update_confirm_job_test.rb @@ -84,4 +84,22 @@ class DomainUpdateConfirmJobTest < ActiveSupport::TestCase assert_not @domain.statuses.include? DomainStatus::PENDING_UPDATE assert @domain.statuses.include? DomainStatus::INACTIVE end + + def test_clears_pending_update_and_sets_ok_after_denial + epp_xml = "\n\n \n \n \n #{@domain.name}\n" \ + " \n #{@new_registrant.code}\n \n \n \n \n \n" \ + " \n #{@legal_doc_path}\n \n" \ + " \n 20alla-1594199756\n \n\n" + @domain.pending_json['frame'] = epp_xml + @domain.update(pending_json: @domain.pending_json) + @domain.update(statuses: [DomainStatus::OK, DomainStatus::PENDING_UPDATE]) + + DomainUpdateConfirmJob.perform_now(@domain.id, RegistrantVerification::REJECTED) + @domain.reload + + assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE_CONFIRMATION + assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE + assert_not @domain.statuses.include? DomainStatus::PENDING_UPDATE + assert @domain.statuses.include? DomainStatus::OK + end end