mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +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:
@ -4,8 +4,8 @@ require "rails_helper"
|
||||
|
||||
describe UserNotifications do
|
||||
fab!(:chatters_group) { Fabricate(:group) }
|
||||
fab!(:sender) { Fabricate(:user, group_ids: [chatters_group.id]) }
|
||||
fab!(:user) { Fabricate(:user, group_ids: [chatters_group.id]) }
|
||||
fab!(:sender) { Fabricate(:user, group_ids: [chatters_group.id], refresh_auto_groups: true) }
|
||||
fab!(:user) { Fabricate(:user, group_ids: [chatters_group.id], refresh_auto_groups: true) }
|
||||
|
||||
before do
|
||||
SiteSetting.chat_enabled = true
|
||||
@ -13,7 +13,6 @@ describe UserNotifications do
|
||||
end
|
||||
|
||||
def refresh_auto_groups
|
||||
Group.refresh_automatic_groups!
|
||||
user.reload
|
||||
sender.reload
|
||||
end
|
||||
@ -111,11 +110,11 @@ describe UserNotifications do
|
||||
end
|
||||
|
||||
it "displays a count when there are more than two DMs with unread messages" do
|
||||
user = Fabricate(:user, group_ids: [chatters_group.id])
|
||||
user = Fabricate(:user, group_ids: [chatters_group.id], refresh_auto_groups: true)
|
||||
senders = []
|
||||
|
||||
3.times do
|
||||
sender = Fabricate(:user, group_ids: [chatters_group.id])
|
||||
sender = Fabricate(:user, group_ids: [chatters_group.id], refresh_auto_groups: true)
|
||||
refresh_auto_groups
|
||||
sender.reload
|
||||
senders << sender
|
||||
|
Reference in New Issue
Block a user