mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 14:12:10 +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:
@ -250,7 +250,7 @@ RSpec.describe TopicUser do
|
||||
end
|
||||
|
||||
context "with private messages" do
|
||||
fab!(:target_user) { Fabricate(:user) }
|
||||
fab!(:target_user) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
|
||||
let(:post) do
|
||||
create_post(archetype: Archetype.private_message, target_usernames: target_user.username)
|
||||
@ -304,7 +304,7 @@ RSpec.describe TopicUser do
|
||||
end
|
||||
|
||||
it "should use group's default notification level" do
|
||||
another_user = Fabricate(:user)
|
||||
another_user = Fabricate(:user, refresh_auto_groups: true)
|
||||
group.add(another_user)
|
||||
|
||||
Jobs.run_immediately!
|
||||
@ -467,8 +467,7 @@ RSpec.describe TopicUser do
|
||||
it "should not automatically track PMs" do
|
||||
new_user.user_option.update!(auto_track_topics_after_msecs: 0)
|
||||
|
||||
another_user = Fabricate(:user)
|
||||
Group.refresh_automatic_groups!
|
||||
another_user = Fabricate(:user, refresh_auto_groups: true)
|
||||
pm = Fabricate(:private_message_topic, user: another_user)
|
||||
pm.invite(another_user, new_user.username)
|
||||
|
||||
|
Reference in New Issue
Block a user