FIX: Respect pending_assign_reminder_threshold in enqueue_reminders (#572)
This commit is contained in:
parent
e3c24ba2f2
commit
6978c752db
|
@ -22,6 +22,10 @@ module Jobs
|
||||||
Group.assign_allowed_groups.pluck(:id).join(",")
|
Group.assign_allowed_groups.pluck(:id).join(",")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def reminder_threshold
|
||||||
|
@reminder_threshold ||= SiteSetting.pending_assign_reminder_threshold
|
||||||
|
end
|
||||||
|
|
||||||
def user_ids
|
def user_ids
|
||||||
global_frequency = SiteSetting.remind_assigns_frequency
|
global_frequency = SiteSetting.remind_assigns_frequency
|
||||||
frequency =
|
frequency =
|
||||||
|
@ -54,7 +58,7 @@ module Jobs
|
||||||
AND assignments.assigned_to_type = 'User'
|
AND assignments.assigned_to_type = 'User'
|
||||||
|
|
||||||
GROUP BY assignments.assigned_to_id
|
GROUP BY assignments.assigned_to_id
|
||||||
HAVING COUNT(assignments.assigned_to_id) > 1
|
HAVING COUNT(assignments.assigned_to_id) >= #{reminder_threshold}
|
||||||
SQL
|
SQL
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -31,12 +31,20 @@ RSpec.describe Jobs::EnqueueReminders do
|
||||||
assert_reminders_enqueued(1)
|
assert_reminders_enqueued(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "does not enqueue a reminder when the user only has one task" do
|
it "does not enqueue a reminder when the user has fewer assignments than `pending_assign_reminder_threshold`" do
|
||||||
assign_one_task_to(user)
|
assign_one_task_to(user)
|
||||||
|
|
||||||
assert_reminders_enqueued(0)
|
assert_reminders_enqueued(0)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "enqueues a reminder when the user has one assignement if `pending_assign_reminder_threshold` is set to one" do
|
||||||
|
assign_one_task_to(user)
|
||||||
|
|
||||||
|
SiteSetting.pending_assign_reminder_threshold = 1
|
||||||
|
|
||||||
|
assert_reminders_enqueued(1)
|
||||||
|
end
|
||||||
|
|
||||||
it "doesn't count assigns from deleted topics" do
|
it "doesn't count assigns from deleted topics" do
|
||||||
deleted_post = Fabricate(:post)
|
deleted_post = Fabricate(:post)
|
||||||
assign_one_task_to(user, post: deleted_post)
|
assign_one_task_to(user, post: deleted_post)
|
||||||
|
|
Loading…
Reference in New Issue