From a2b1789c3e3590e354edc0b0c14886955d0d2388 Mon Sep 17 00:00:00 2001 From: Arpit Jalan Date: Mon, 13 May 2019 22:19:42 +0530 Subject: [PATCH] FIX: do not log username change if the save process was unsuccessful --- app/services/username_changer.rb | 8 ++++---- spec/services/username_changer_spec.rb | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/services/username_changer.rb b/app/services/username_changer.rb index 287360ef685..6b23d3ec5d5 100644 --- a/app/services/username_changer.rb +++ b/app/services/username_changer.rb @@ -16,13 +16,13 @@ class UsernameChanger end def change(asynchronous: true, run_update_job: true) - if @actor && @old_username != @new_username - StaffActionLogger.new(@actor).log_username_change(@user, @old_username, @new_username) - end - @user.username = @new_username if @user.save + if @actor && @old_username != @new_username + StaffActionLogger.new(@actor).log_username_change(@user, @old_username, @new_username) + end + UsernameChanger.update_username(user_id: @user.id, old_username: @old_username, new_username: @new_username, diff --git a/spec/services/username_changer_spec.rb b/spec/services/username_changer_spec.rb index 7f4346c992d..a2bd2620299 100644 --- a/spec/services/username_changer_spec.rb +++ b/spec/services/username_changer_spec.rb @@ -56,6 +56,10 @@ describe UsernameChanger do expect do UsernameChanger.change(myself, "HanSolo", myself) end.to change { UserHistory.count }.by(0) # make sure it does not log a dupe + + expect do + UsernameChanger.change(myself, user.username, myself) + end.to change { UserHistory.count }.by(0) # does not log if the username already exists end end