FIX: Don't try to delete inactive admins

This commit is contained in:
Gerhard Schlager 2019-04-25 11:59:31 +02:00
parent 422237391e
commit 6d77156a94
2 changed files with 9 additions and 1 deletions

View File

@ -9,7 +9,7 @@ module Jobs
destroyer = UserDestroyer.new(Discourse.system_user)
User.joins("LEFT JOIN posts ON posts.user_id = users.id")
.where(last_posted_at: nil, trust_level: TrustLevel.levels[:newuser])
.where(last_posted_at: nil, trust_level: TrustLevel.levels[:newuser], admin: false)
.where(
"posts.user_id IS NULL AND users.last_seen_at < ?",
SiteSetting.clean_up_inactive_users_after_days.days.ago

View File

@ -32,4 +32,12 @@ RSpec.describe Jobs::CleanUpInactiveUsers do
expect(User.exists?(id: user.id)).to eq(false)
end
it "doesn't delete inactive admins" do
SiteSetting.clean_up_inactive_users_after_days = 4
admin = Fabricate(:admin, last_seen_at: 5.days.ago, trust_level: TrustLevel.levels[:newuser])
expect { described_class.new.execute({}) }.to_not change { User.count }
expect(User.exists?(admin.id)).to eq(true)
end
end