Fix updating procedure

This commit is contained in:
Alex Sherman 2020-12-03 13:39:58 +05:00
parent 6ab08dbd67
commit 252d39464a
4 changed files with 20 additions and 3 deletions

View file

@ -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

View file

@ -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

View file

@ -11,7 +11,6 @@ module Domains
preclean_pendings
clean_pendings!
domain.save(validate: false)
end
end
end

View file

@ -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 = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<epp>\n <command>\n <update>\n <update>\n <name>#{@domain.name}</name>\n" \
" <chg>\n <registrant>#{@new_registrant.code}</registrant>\n </chg>\n </update>\n </update>\n <extension>\n <update/>\n" \
" <extdata>\n <legalDocument type=\"pdf\">#{@legal_doc_path}</legalDocument>\n </extdata>\n" \
" </extension>\n <clTRID>20alla-1594199756</clTRID>\n </command>\n</epp>\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