From 1bce97a596f32b7dfa5423abceb18dd7c2e08eb0 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Wed, 3 Apr 2019 11:40:32 -0400 Subject: [PATCH] FIX: Allow queued posts from deleted users to be rejected --- app/services/staff_action_logger.rb | 4 ++-- spec/services/staff_action_logger_spec.rb | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/services/staff_action_logger.rb b/app/services/staff_action_logger.rb index b2e1e2f4aa..5b047a17e9 100644 --- a/app/services/staff_action_logger.rb +++ b/app/services/staff_action_logger.rb @@ -566,8 +566,8 @@ class StaffActionLogger topic = reviewable.topic || Topic.with_deleted.find_by(id: reviewable.topic_id) topic_title = topic&.title || I18n.t('staff_action_logs.not_found') - username = reviewable.created_by.username || I18n.t('staff_action_logs.unknown') - name = reviewable.created_by.name || I18n.t('staff_action_logs.unknown') + username = reviewable.created_by&.username || I18n.t('staff_action_logs.unknown') + name = reviewable.created_by&.name || I18n.t('staff_action_logs.unknown') details = [ "created_at: #{reviewable.created_at}", diff --git a/spec/services/staff_action_logger_spec.rb b/spec/services/staff_action_logger_spec.rb index f2cfc054e4..40c5106645 100644 --- a/spec/services/staff_action_logger_spec.rb +++ b/spec/services/staff_action_logger_spec.rb @@ -505,5 +505,16 @@ describe StaffActionLogger do expect(user_history.action).to eq(UserHistory.actions[:post_rejected]) expect(user_history.details).to include(reviewable.payload['raw']) end + + it "works if the user was destroyed" do + reviewable.created_by.destroy + reviewable.reload + + expect { log_post_rejected }.to change { UserHistory.count }.by(1) + user_history = UserHistory.last + expect(user_history.action).to eq(UserHistory.actions[:post_rejected]) + expect(user_history.details).to include(reviewable.payload['raw']) + end + end end