mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
parent
7707d5db2d
commit
bbab60fa9b
@ -9,7 +9,7 @@ module Jobs
|
|||||||
return if SiteSetting.clean_up_inactive_users_after_days <= 0
|
return if SiteSetting.clean_up_inactive_users_after_days <= 0
|
||||||
|
|
||||||
User.joins("LEFT JOIN posts ON posts.user_id = users.id")
|
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(
|
.where(
|
||||||
"posts.user_id IS NULL AND users.last_seen_at < ?",
|
"posts.user_id IS NULL AND users.last_seen_at < ?",
|
||||||
SiteSetting.clean_up_inactive_users_after_days.days.ago
|
SiteSetting.clean_up_inactive_users_after_days.days.ago
|
||||||
|
@ -42,4 +42,12 @@ RSpec.describe Jobs::CleanUpInactiveUsers do
|
|||||||
expect { described_class.new.execute({}) }.to_not change { User.count }
|
expect { described_class.new.execute({}) }.to_not change { User.count }
|
||||||
expect(User.exists?(admin.id)).to eq(true)
|
expect(User.exists?(admin.id)).to eq(true)
|
||||||
end
|
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
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user