mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Convert min_trust_to_edit_post to groups (#24840)
We're changing the implementation of trust levels to use groups. Part of this is to have site settings that reference trust levels use groups instead. It converts the min_trust_to_edit_post site setting to edit_post_allowed_groups. The old implementation will co-exist for a short period while I update any references in plugins and themes.
This commit is contained in:
@@ -82,9 +82,9 @@ end
|
||||
RSpec.describe PostsController do
|
||||
fab!(:admin)
|
||||
fab!(:moderator)
|
||||
fab!(:user)
|
||||
fab!(:user_trust_level_0) { Fabricate(:trust_level_0) }
|
||||
fab!(:user_trust_level_1) { Fabricate(:trust_level_1) }
|
||||
fab!(:user) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
fab!(:user_trust_level_0) { Fabricate(:trust_level_0, refresh_auto_groups: true) }
|
||||
fab!(:user_trust_level_1) { Fabricate(:trust_level_1, refresh_auto_groups: true) }
|
||||
fab!(:category)
|
||||
fab!(:topic)
|
||||
fab!(:post_by_user) { Fabricate(:post, user: user) }
|
||||
@@ -827,7 +827,6 @@ RSpec.describe PostsController do
|
||||
before do
|
||||
SiteSetting.min_first_post_typing_time = 0
|
||||
SiteSetting.whispers_allowed_groups = "#{Group::AUTO_GROUPS[:staff]}"
|
||||
Group.refresh_automatic_groups!
|
||||
end
|
||||
|
||||
context "with api" do
|
||||
@@ -1078,7 +1077,7 @@ RSpec.describe PostsController do
|
||||
end
|
||||
|
||||
describe "when logged in" do
|
||||
fab!(:user)
|
||||
fab!(:user) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
|
||||
before { sign_in(user) }
|
||||
|
||||
@@ -1232,7 +1231,6 @@ RSpec.describe PostsController do
|
||||
end
|
||||
|
||||
it "can send a message to a group" do
|
||||
Group.refresh_automatic_groups!
|
||||
group = Group.create(name: "test_group", messageable_level: Group::ALIAS_LEVELS[:nobody])
|
||||
user1 = user
|
||||
group.add(user1)
|
||||
@@ -1268,7 +1266,6 @@ RSpec.describe PostsController do
|
||||
end
|
||||
|
||||
it "can send a message to a group with caps" do
|
||||
Group.refresh_automatic_groups!
|
||||
group = Group.create(name: "Test_group", messageable_level: Group::ALIAS_LEVELS[:nobody])
|
||||
user1 = user
|
||||
group.add(user1)
|
||||
@@ -1489,11 +1486,6 @@ RSpec.describe PostsController do
|
||||
xit "should add custom fields to topic that is permitted for a non-staff user via the deprecated `meta_data` param" do
|
||||
sign_in(user)
|
||||
|
||||
Discourse.expects(:deprecate).with(
|
||||
"the :meta_data param is deprecated, use the :topic_custom_fields param instead",
|
||||
anything,
|
||||
)
|
||||
|
||||
post "/posts.json",
|
||||
params: {
|
||||
raw: "this is the test content",
|
||||
@@ -1586,7 +1578,6 @@ RSpec.describe PostsController do
|
||||
user_4 = Fabricate(:user, username: "Iyi_Iyi")
|
||||
user_4.update_attribute(:username, "İyi_İyi")
|
||||
user_4.update_attribute(:username_lower, "İyi_İyi".downcase)
|
||||
Group.refresh_automatic_groups!
|
||||
|
||||
post "/posts.json",
|
||||
params: {
|
||||
@@ -1652,8 +1643,7 @@ RSpec.describe PostsController do
|
||||
|
||||
it "it triggers flag_linked_posts_as_spam when the post creator returns spam" do
|
||||
SiteSetting.newuser_spam_host_threshold = 1
|
||||
sign_in(Fabricate(:user, trust_level: 0))
|
||||
Group.refresh_automatic_groups!
|
||||
sign_in(Fabricate(:user, trust_level: 0, refresh_auto_groups: true))
|
||||
|
||||
post "/posts.json",
|
||||
params: {
|
||||
@@ -1844,9 +1834,7 @@ RSpec.describe PostsController do
|
||||
end
|
||||
|
||||
describe "warnings" do
|
||||
fab!(:user_2) { Fabricate(:user) }
|
||||
|
||||
before { Group.refresh_automatic_groups! }
|
||||
fab!(:user_2) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
|
||||
context "as a staff user" do
|
||||
before { sign_in(admin) }
|
||||
@@ -1948,7 +1936,7 @@ RSpec.describe PostsController do
|
||||
end
|
||||
|
||||
context "with TL4 users" do
|
||||
fab!(:trust_level_4)
|
||||
fab!(:trust_level_4) { Fabricate(:trust_level_4, refresh_auto_groups: true) }
|
||||
|
||||
before { sign_in(trust_level_4) }
|
||||
|
||||
@@ -2341,8 +2329,6 @@ RSpec.describe PostsController do
|
||||
include_examples "action requires login", :get, "/posts/system/deleted.json"
|
||||
|
||||
describe "when logged in" do
|
||||
before { Group.refresh_automatic_groups! }
|
||||
|
||||
it "raises an error if the user doesn't have permission to see the deleted posts" do
|
||||
sign_in(user)
|
||||
get "/posts/system/deleted.json"
|
||||
|
||||
@@ -1630,7 +1630,7 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
end
|
||||
|
||||
describe "with permission" do
|
||||
context "with permission" do
|
||||
fab!(:post_hook) { Fabricate(:post_web_hook) }
|
||||
fab!(:topic_hook) { Fabricate(:topic_web_hook) }
|
||||
|
||||
@@ -1887,8 +1887,7 @@ RSpec.describe TopicsController do
|
||||
end.not_to change { topic.reload.first_post.revisions.count }
|
||||
|
||||
expect(response.status).to eq(403)
|
||||
user_2.update!(trust_level: 2)
|
||||
Group.refresh_automatic_groups!
|
||||
user_2.groups << Group.find_by(name: "trust_level_2")
|
||||
|
||||
expect do put "/t/#{topic.id}/tags.json", params: { tags: [tag.name] } end.to change {
|
||||
topic.reload.first_post.revisions.count
|
||||
@@ -3600,8 +3599,6 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
|
||||
context "with private message" do
|
||||
before_all { Group.refresh_automatic_groups! }
|
||||
|
||||
fab!(:group) do
|
||||
Fabricate(:group, messageable_level: Group::ALIAS_LEVELS[:everyone]).tap do |g|
|
||||
g.add(user_2)
|
||||
@@ -4529,8 +4526,6 @@ RSpec.describe TopicsController do
|
||||
fab!(:topic) { Fabricate(:topic, user: user) }
|
||||
fab!(:post) { Fabricate(:post, user: user, topic: topic) }
|
||||
|
||||
before { Group.refresh_automatic_groups! }
|
||||
|
||||
it "raises an error when the user doesn't have permission to convert topic" do
|
||||
sign_in(user)
|
||||
put "/t/#{topic.id}/convert-topic/private.json"
|
||||
@@ -4557,8 +4552,6 @@ RSpec.describe TopicsController do
|
||||
fab!(:topic) { Fabricate(:private_message_topic, user: user) }
|
||||
fab!(:post) { Fabricate(:post, user: post_author1, topic: topic) }
|
||||
|
||||
before { Group.refresh_automatic_groups! }
|
||||
|
||||
it "raises an error when the user doesn't have permission to convert topic" do
|
||||
sign_in(user)
|
||||
put "/t/#{topic.id}/convert-topic/public.json"
|
||||
@@ -4961,10 +4954,7 @@ RSpec.describe TopicsController do
|
||||
|
||||
fab!(:moderator_pm) { Fabricate(:private_message_topic, user: moderator) }
|
||||
|
||||
before do
|
||||
SiteSetting.max_allowed_message_recipients = 2
|
||||
Group.refresh_automatic_groups!
|
||||
end
|
||||
before { SiteSetting.max_allowed_message_recipients = 2 }
|
||||
|
||||
it "doesn't allow normal users to invite" do
|
||||
post "/t/#{pm.id}/invite.json", params: { user: user_2.username }
|
||||
@@ -5292,8 +5282,6 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
|
||||
describe "#private_message_reset_new" do
|
||||
before_all { Group.refresh_automatic_groups! }
|
||||
|
||||
fab!(:group) do
|
||||
Fabricate(:group, messageable_level: Group::ALIAS_LEVELS[:everyone]).tap { |g| g.add(user_2) }
|
||||
end
|
||||
@@ -5412,8 +5400,6 @@ RSpec.describe TopicsController do
|
||||
end
|
||||
|
||||
describe "#archive_message" do
|
||||
before_all { Group.refresh_automatic_groups! }
|
||||
|
||||
fab!(:group) do
|
||||
Fabricate(:group, messageable_level: Group::ALIAS_LEVELS[:everyone]).tap { |g| g.add(user) }
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user