mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 03:36:18 +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:
@ -40,10 +40,7 @@ module Helpers
|
||||
def create_topic(args = {})
|
||||
args[:title] ||= "This is my title #{Helpers.next_seq}"
|
||||
user = args.delete(:user)
|
||||
if !user
|
||||
user = Fabricate(:user)
|
||||
Group.refresh_automatic_groups!
|
||||
end
|
||||
user = Fabricate(:user, refresh_auto_groups: true) if !user
|
||||
guardian = Guardian.new(user)
|
||||
args[:category] = args[:category].id if args[:category].is_a?(Category)
|
||||
TopicCreator.create(user, guardian, args)
|
||||
@ -57,9 +54,7 @@ module Helpers
|
||||
args[:title] ||= "This is my title #{Helpers.next_seq}"
|
||||
args[:raw] ||= "This is the raw body of my post, it is cool #{Helpers.next_seq}"
|
||||
args[:topic_id] = args[:topic].id if args[:topic]
|
||||
automated_group_refresh_required = args[:user].blank?
|
||||
user = args.delete(:user) || Fabricate(:user)
|
||||
Group.refresh_automatic_groups! if automated_group_refresh_required
|
||||
user = args.delete(:user) || Fabricate(:user, refresh_auto_groups: true)
|
||||
args[:category] = args[:category].id if args[:category].is_a?(Category)
|
||||
creator = PostCreator.new(user, args)
|
||||
post = creator.create
|
||||
|
Reference in New Issue
Block a user