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:
Ted Johansson
2024-01-25 14:28:26 +08:00
committed by GitHub
parent 74fd883a89
commit 57ea56ee05
64 changed files with 131 additions and 269 deletions

View File

@ -9,7 +9,7 @@ RSpec.describe Chat::Api::ChannelThreadsController do
before do
SiteSetting.chat_enabled = true
SiteSetting.chat_allowed_groups = Group::AUTO_GROUPS[:everyone]
Group.refresh_automatic_groups!
sign_in(current_user)
end

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true
RSpec.describe Chat::Api::DirectMessagesController do
fab!(:current_user) { Fabricate(:user) }
fab!(:current_user) { Fabricate(:user, refresh_auto_groups: true) }
fab!(:user1) { Fabricate(:user) }
fab!(:user2) { Fabricate(:user) }
fab!(:user3) { Fabricate(:user) }
@ -21,8 +21,6 @@ RSpec.describe Chat::Api::DirectMessagesController do
end
describe "#create" do
before { Group.refresh_automatic_groups! }
describe "dm with one other user" do
let(:usernames) { user1.username }
let(:direct_message_user_ids) { [current_user.id, user1.id] }

View File

@ -5,7 +5,6 @@ describe ListController do
before do
SiteSetting.chat_enabled = true
Group.refresh_automatic_groups!
sign_in(current_user)
end