mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 01:03:41 +08:00
DEV: Remove full group refreshes from tests (#25414)
We have all these calls to Group.refresh_automatic_groups! littered throughout the tests. Including tests that are seemingly unrelated to groups. This is because automatic group memberships aren't fabricated when making a vanilla user. There are two places where you'd want to use this: You have fabricated a user that needs a certain trust level (which is now based on group membership.) You need the system user to have a certain trust level. In the first case, we can pass refresh_auto_groups: true to the fabricator instead. This is a more lightweight operation that only considers a single user, instead of all users in all groups. The second case is no longer a thing after #25400.
This commit is contained in:
@ -1,9 +1,9 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
RSpec.describe TopicCreator do
|
||||
fab!(:user) { Fabricate(:user, trust_level: TrustLevel[2]) }
|
||||
fab!(:user) { Fabricate(:user, trust_level: TrustLevel[2], refresh_auto_groups: true) }
|
||||
fab!(:moderator)
|
||||
fab!(:admin)
|
||||
fab!(:admin) { Fabricate(:admin, refresh_auto_groups: true) }
|
||||
|
||||
let(:valid_attrs) { Fabricate.attributes_for(:topic) }
|
||||
let(:pm_valid_attrs) do
|
||||
@ -24,8 +24,6 @@ RSpec.describe TopicCreator do
|
||||
}
|
||||
end
|
||||
|
||||
before { Group.refresh_automatic_groups! }
|
||||
|
||||
describe "#create" do
|
||||
context "with topic success cases" do
|
||||
before do
|
||||
@ -497,7 +495,6 @@ RSpec.describe TopicCreator do
|
||||
TopicCreator.any_instance.expects(:watch_topic).returns(true)
|
||||
SiteSetting.allow_duplicate_topic_titles = true
|
||||
SiteSetting.enable_staged_users = true
|
||||
Group.refresh_automatic_groups!
|
||||
end
|
||||
|
||||
it "should be possible for a regular user to send private message" do
|
||||
@ -546,8 +543,6 @@ RSpec.describe TopicCreator do
|
||||
end
|
||||
|
||||
context "with to emails" do
|
||||
before { Group.refresh_automatic_groups! }
|
||||
|
||||
it "works for staff" do
|
||||
SiteSetting.send_email_messages_allowed_groups = "1|3"
|
||||
expect(
|
||||
|
Reference in New Issue
Block a user