mirror of
https://github.com/discourse/discourse.git
synced 2025-03-06 03:09:43 +00:00
FIX: Don't raise error in update username job if user has been deleted.
This commit is contained in:
parent
ec0b4b2acc
commit
01600492de
@ -7,6 +7,9 @@ module Jobs
|
||||
|
||||
def execute(args)
|
||||
@user_id = args[:user_id]
|
||||
user = User.find_by(id: @user_id)
|
||||
return unless user
|
||||
|
||||
@old_username = args[:old_username].unicode_normalize
|
||||
@new_username = args[:new_username].unicode_normalize
|
||||
@avatar_img = PrettyText.avatar_img(args[:avatar_template], "tiny")
|
||||
@ -36,7 +39,7 @@ module Jobs
|
||||
update_post_custom_fields
|
||||
|
||||
DiscourseEvent.trigger(:username_changed, @old_username, @new_username)
|
||||
DiscourseEvent.trigger(:user_updated, User.find_by(id: @user_id))
|
||||
DiscourseEvent.trigger(:user_updated, user)
|
||||
end
|
||||
|
||||
def update_posts
|
||||
|
20
spec/jobs/update_username_spec.rb
Normal file
20
spec/jobs/update_username_spec.rb
Normal file
@ -0,0 +1,20 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe Jobs::UpdateUsername do
|
||||
fab!(:user) { Fabricate(:user) }
|
||||
|
||||
it 'does not do anything if user_id is invalid' do
|
||||
events = DiscourseEvent.track_events do
|
||||
described_class.new.execute(
|
||||
user_id: -999,
|
||||
old_username: user.username,
|
||||
new_username: 'somenewusername',
|
||||
avatar_template: user.avatar_template
|
||||
)
|
||||
end
|
||||
|
||||
expect(events).to eq([])
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user