mirror of
https://github.com/discourse/discourse.git
synced 2025-05-29 01:31:35 +08:00
FEATURE: Support designating multiple groups as mods on category (#28655)
Currently, categories support designating only 1 group as a moderation group on the category. This commit removes the one group limitation and makes it possible to designate multiple groups as mods on a category. Internal topic: t/124648.
This commit is contained in:
@ -233,7 +233,10 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
|
||||
describe "moving to a new topic as a group moderator" do
|
||||
fab!(:category) { Fabricate(:category, reviewable_by_group: group_user.group) }
|
||||
fab!(:category)
|
||||
fab!(:category_moderation_group) do
|
||||
Fabricate(:category_moderation_group, category:, group: group_user.group)
|
||||
end
|
||||
fab!(:topic) { Fabricate(:topic, category: category) }
|
||||
fab!(:p1) { Fabricate(:post, user: group_user.user, post_number: 1, topic: topic) }
|
||||
fab!(:p2) { Fabricate(:post, user: group_user.user, post_number: 2, topic: topic) }
|
||||
@ -388,7 +391,10 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
|
||||
describe "moving to an existing topic as a group moderator" do
|
||||
fab!(:category) { Fabricate(:category, reviewable_by_group: group_user.group) }
|
||||
fab!(:category)
|
||||
fab!(:category_moderation_group) do
|
||||
Fabricate(:category_moderation_group, category:, group: group_user.group)
|
||||
end
|
||||
fab!(:topic) { Fabricate(:topic, category: category) }
|
||||
fab!(:p1) { Fabricate(:post, user: group_user.user, post_number: 1, topic: topic) }
|
||||
fab!(:p2) { Fabricate(:post, user: group_user.user, post_number: 2, topic: topic) }
|
||||
@ -439,7 +445,10 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
|
||||
describe "moving chronologically to an existing topic as a group moderator" do
|
||||
fab!(:category) { Fabricate(:category, reviewable_by_group: group_user.group) }
|
||||
fab!(:category)
|
||||
fab!(:category_moderation_group) do
|
||||
Fabricate(:category_moderation_group, category:, group: group_user.group)
|
||||
end
|
||||
fab!(:topic) { Fabricate(:topic, category: category) }
|
||||
fab!(:p1) do
|
||||
Fabricate(
|
||||
@ -715,7 +724,10 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
|
||||
describe "merging into another topic as a group moderator" do
|
||||
fab!(:category) { Fabricate(:category, reviewable_by_group: group_user.group) }
|
||||
fab!(:category)
|
||||
fab!(:category_moderation_group) do
|
||||
Fabricate(:category_moderation_group, category:, group: group_user.group)
|
||||
end
|
||||
fab!(:topic) { Fabricate(:topic, category: category) }
|
||||
fab!(:p1) { Fabricate(:post, user: post_author1, post_number: 1, topic: topic) }
|
||||
fab!(:p2) { Fabricate(:post, user: post_author2, post_number: 2, topic: topic) }
|
||||
@ -752,7 +764,10 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
|
||||
describe "merging chronologically into another topic as a group moderator" do
|
||||
fab!(:category) { Fabricate(:category, reviewable_by_group: group_user.group) }
|
||||
fab!(:category)
|
||||
fab!(:category_moderation_group) do
|
||||
Fabricate(:category_moderation_group, category:, group: group_user.group)
|
||||
end
|
||||
fab!(:topic) { Fabricate(:topic, category: category) }
|
||||
fab!(:p1) do
|
||||
Fabricate(
|
||||
@ -1152,7 +1167,10 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
|
||||
describe "when logged in as a group member with reviewable status" do
|
||||
fab!(:category) { Fabricate(:category, reviewable_by_group: group_user.group) }
|
||||
fab!(:category)
|
||||
fab!(:category_moderation_group) do
|
||||
Fabricate(:category_moderation_group, category:, group: group_user.group)
|
||||
end
|
||||
fab!(:topic) { Fabricate(:topic, category: category) }
|
||||
|
||||
before do
|
||||
@ -4970,7 +4988,7 @@ RSpec.describe TopicsController do
|
||||
it "allows a category moderator to create a delete timer" do
|
||||
user.update!(trust_level: TrustLevel[4])
|
||||
Group.user_trust_level_change!(user.id, user.trust_level)
|
||||
topic.category.update!(reviewable_by_group: user.groups.first)
|
||||
Fabricate(:category_moderation_group, category: topic.category, group: user.groups.first)
|
||||
|
||||
sign_in(user)
|
||||
|
||||
|
Reference in New Issue
Block a user