mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: New 'Reviewable' model to make reviewable items generic
Includes support for flags, reviewable users and queued posts, with REST API backwards compatibility. Co-Authored-By: romanrizzi <romanalejandro@gmail.com> Co-Authored-By: jjaffeux <j.jaffeux@gmail.com>
This commit is contained in:
@@ -5,40 +5,46 @@ describe Jobs::AutoQueueHandler do
|
||||
subject { Jobs::AutoQueueHandler.new.execute({}) }
|
||||
|
||||
context "old flag" do
|
||||
let!(:old) { Fabricate(:flag, created_at: 61.days.ago) }
|
||||
let!(:not_old) { Fabricate(:flag, created_at: 59.days.ago) }
|
||||
let!(:old) { Fabricate(:reviewable_flagged_post, created_at: 61.days.ago) }
|
||||
let!(:not_old) { Fabricate(:reviewable_flagged_post, created_at: 59.days.ago) }
|
||||
|
||||
it "defers the old flag if auto_handle_queued_age is 60" do
|
||||
SiteSetting.auto_handle_queued_age = 60
|
||||
subject
|
||||
expect(not_old.reload.deferred_at).to be_nil
|
||||
expect(old.reload.deferred_at).to_not be_nil
|
||||
expect(not_old.reload).to be_pending
|
||||
expect(old.reload).not_to be_pending
|
||||
end
|
||||
|
||||
it "doesn't defer the old flag if auto_handle_queued_age is 0" do
|
||||
SiteSetting.auto_handle_queued_age = 0
|
||||
subject
|
||||
expect(not_old.reload.deferred_at).to be_nil
|
||||
expect(old.reload.deferred_at).to be_nil
|
||||
expect(not_old.reload).to be_pending
|
||||
expect(old.reload).to be_pending
|
||||
end
|
||||
end
|
||||
|
||||
context "old queued post" do
|
||||
let!(:old) { Fabricate(:queued_post, created_at: 61.days.ago, queue: 'default') }
|
||||
let!(:not_old) { Fabricate(:queued_post, created_at: 59.days.ago, queue: 'default') }
|
||||
context "reviewables" do
|
||||
let!(:new_post) { Fabricate(:reviewable_queued_post, created_at: 59.days.ago) }
|
||||
let!(:old_post) { Fabricate(:reviewable_queued_post, created_at: 61.days.ago) }
|
||||
let!(:new_user) { Fabricate(:reviewable, created_at: 10.days.ago) }
|
||||
let!(:old_user) { Fabricate(:reviewable, created_at: 80.days.ago) }
|
||||
|
||||
it "rejects the post when auto_handle_queued_age is 60" do
|
||||
SiteSetting.auto_handle_queued_age = 60
|
||||
subject
|
||||
expect(not_old.reload.state).to eq(QueuedPost.states[:new])
|
||||
expect(old.reload.state).to eq(QueuedPost.states[:rejected])
|
||||
expect(new_post.reload.pending?).to eq(true)
|
||||
expect(old_post.reload.rejected?).to eq(true)
|
||||
expect(new_user.reload.pending?).to eq(true)
|
||||
expect(old_user.reload.rejected?).to eq(true)
|
||||
end
|
||||
|
||||
it "doesn't reject the post when auto_handle_queued_age is 0" do
|
||||
it "leaves reviewables as pending auto_handle_queued_age is 0" do
|
||||
SiteSetting.auto_handle_queued_age = 0
|
||||
subject
|
||||
expect(not_old.reload.state).to eq(QueuedPost.states[:new])
|
||||
expect(old.reload.state).to eq(QueuedPost.states[:new])
|
||||
expect(new_post.reload.pending?).to eq(true)
|
||||
expect(new_user.reload.pending?).to eq(true)
|
||||
expect(old_post.reload.pending?).to eq(true)
|
||||
expect(old_user.reload.pending?).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user