FIX: Broken reviewable filter (#318)

This commit is contained in:
Jarek Radosz 2022-04-23 01:31:36 +02:00 committed by GitHub
parent d039024fe3
commit 3a147fcb88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 1 deletions

View File

@ -661,7 +661,7 @@ after_initialize do
results.joins(<<~SQL
INNER JOIN posts p ON p.id = target_id
INNER JOIN topics t ON t.id = p.topic_id
INNER JOIN assignments a ON a.topic_id = t.id AND a.assigned_to_type == 'User'
INNER JOIN assignments a ON a.topic_id = t.id AND a.assigned_to_type = 'User'
INNER JOIN users u ON u.id = a.assigned_to_id
SQL
)

View File

@ -0,0 +1,21 @@
# frozen_string_literal: true
describe Reviewable do
fab!(:user) { Fabricate(:user) }
fab!(:admin) { Fabricate(:admin) }
fab!(:post1) { Fabricate(:post) }
fab!(:post2) { Fabricate(:post) }
fab!(:reviewable1) { Fabricate(:reviewable_flagged_post, target: post1) }
fab!(:reviewable2) { Fabricate(:reviewable_flagged_post, target: post2) }
before do
SiteSetting.assign_enabled = true
end
it "can filter by assigned_to" do
Assignment.create!(target: post1, topic_id: post1.topic.id, assigned_by_user: user, assigned_to: user)
Assignment.create!(target: post2, topic_id: post2.topic.id, assigned_by_user: user, assigned_to: admin)
expect(Reviewable.list_for(admin, additional_filters: { assigned_to: user.username })).to eq([reviewable1])
end
end