FIX: automatically unsilence users

This commit is contained in:
Régis Hanol 2018-02-05 17:45:47 +01:00
parent a7603b1cfb
commit 130974d58d
2 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,11 @@
module Jobs
class UnsilenceUsers < Jobs::Scheduled
every 15.minutes
def execute(args)
User.where("silenced_till IS NOT NULL AND silenced_till < now()").find_each do |user|
UserSilencer.unsilence(user, Discourse.system_user)
end
end
end
end

View File

@ -0,0 +1,16 @@
require "rails_helper"
describe Jobs::UnsilenceUsers do
it "unsilence users" do
user = Fabricate(:user)
UserSilencer.silence(user, Discourse.system_user, silenced_till: 2.days.ago)
user.reload
expect(user.silenced_till).to be
Jobs::UnsilenceUsers.new.execute({})
user.reload
expect(user.silenced_till).to be(nil)
end
end