mirror of
https://github.com/internetee/registry.git
synced 2025-06-02 18:58:35 +02:00
Fix domain update confirm if pendong_json current_user_id got non-string values
This commit is contained in:
parent
787016b9b6
commit
9df52af96b
2 changed files with 30 additions and 1 deletions
|
@ -29,11 +29,17 @@ module Domains
|
|||
end
|
||||
|
||||
def assign_domain_update_meta
|
||||
user = ApiUser.find_by(id: domain.pending_json['current_user_id'])
|
||||
user = ApiUser.find_by(id: user_id) if user_id.present? && user_id.is_a?(String)
|
||||
|
||||
domain.upid = user.registrar.id if user.present? && user.registrar
|
||||
domain.up_date = Time.zone.now
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def user_id
|
||||
@user_id ||= domain.pending_json.dig('current_user_id')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -127,6 +127,29 @@ class DomainUpdateConfirmJobTest < ActiveSupport::TestCase
|
|||
assert @domain.statuses.include? DomainStatus::DISPUTED
|
||||
end
|
||||
|
||||
def test_works_id_current_user_id_broken
|
||||
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"
|
||||
parsed_frame = Deserializers::Xml::DomainUpdate.new(Nokogiri::XML(epp_xml), @domain.registrar.id).call
|
||||
|
||||
@domain.pending_json['frame'] = parsed_frame
|
||||
@domain.pending_json['current_user_id'] = { key: 'some_value'}
|
||||
@domain.update(pending_json: @domain.pending_json)
|
||||
@domain.update(statuses: [DomainStatus::DELETE_CANDIDATE, DomainStatus::DISPUTED])
|
||||
|
||||
assert_nothing_raised do
|
||||
DomainUpdateConfirmJob.perform_now(@domain.id, RegistrantVerification::CONFIRMED)
|
||||
end
|
||||
@domain.reload
|
||||
|
||||
assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE_CONFIRMATION
|
||||
assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE
|
||||
assert @domain.statuses.include? DomainStatus::DELETE_CANDIDATE
|
||||
assert @domain.statuses.include? DomainStatus::DISPUTED
|
||||
end
|
||||
|
||||
def test_clears_pending_update_and_inactive_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" \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue