From bbab60fa9b0c0a87200f7266deb0ab33d0bfc201 Mon Sep 17 00:00:00 2001 From: Gerhard Schlager Date: Mon, 13 May 2019 21:44:03 +0200 Subject: [PATCH] =?UTF-8?q?FIX:=20Don=E2=80=99t=20try=20to=20delete=20inac?= =?UTF-8?q?tive=20moderators?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit follow-up to 6d77156a --- app/jobs/scheduled/clean_up_inactive_users.rb | 2 +- spec/jobs/clean_up_inactive_users_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/jobs/scheduled/clean_up_inactive_users.rb b/app/jobs/scheduled/clean_up_inactive_users.rb index f42fdc4967..f0ccc89a99 100644 --- a/app/jobs/scheduled/clean_up_inactive_users.rb +++ b/app/jobs/scheduled/clean_up_inactive_users.rb @@ -9,7 +9,7 @@ module Jobs return if SiteSetting.clean_up_inactive_users_after_days <= 0 User.joins("LEFT JOIN posts ON posts.user_id = users.id") - .where(last_posted_at: nil, trust_level: TrustLevel.levels[:newuser], admin: false) + .where(last_posted_at: nil, trust_level: TrustLevel.levels[:newuser], admin: false, moderator: false) .where( "posts.user_id IS NULL AND users.last_seen_at < ?", SiteSetting.clean_up_inactive_users_after_days.days.ago diff --git a/spec/jobs/clean_up_inactive_users_spec.rb b/spec/jobs/clean_up_inactive_users_spec.rb index 68e68bcd4a..100a18d1d3 100644 --- a/spec/jobs/clean_up_inactive_users_spec.rb +++ b/spec/jobs/clean_up_inactive_users_spec.rb @@ -42,4 +42,12 @@ RSpec.describe Jobs::CleanUpInactiveUsers do expect { described_class.new.execute({}) }.to_not change { User.count } expect(User.exists?(admin.id)).to eq(true) end + + it "doesn't delete inactive mods" do + SiteSetting.clean_up_inactive_users_after_days = 4 + moderator = Fabricate(:moderator, last_seen_at: 5.days.ago, trust_level: TrustLevel.levels[:newuser]) + + expect { described_class.new.execute({}) }.to_not change { User.count } + expect(User.exists?(moderator.id)).to eq(true) + end end