mirror of
https://github.com/discourse/discourse.git
synced 2025-05-28 13:51: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:
@ -793,10 +793,9 @@ RSpec.describe "tag topic counts per category" do
|
||||
end
|
||||
|
||||
context "with topic with 2 tags" do
|
||||
fab!(:topic) { Fabricate(:topic, category: category, tags: [tag1, tag2]) }
|
||||
fab!(:post) { Fabricate(:post, user: topic.user, topic: topic) }
|
||||
|
||||
before { Group.refresh_automatic_groups! }
|
||||
fab!(:user) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
fab!(:topic) { Fabricate(:topic, user: user, category: category, tags: [tag1, tag2]) }
|
||||
fab!(:post) { Fabricate(:post, user: user, topic: topic) }
|
||||
|
||||
it "has correct counts after tag is removed from a topic" do
|
||||
post
|
||||
@ -837,14 +836,13 @@ RSpec.describe "tag topic counts per category" do
|
||||
end
|
||||
|
||||
context "with topic with one tag" do
|
||||
fab!(:topic) { Fabricate(:topic, tags: [tag1], category: category) }
|
||||
fab!(:post) { Fabricate(:post, user: topic.user, topic: topic) }
|
||||
|
||||
before { Group.refresh_automatic_groups! }
|
||||
fab!(:user) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
fab!(:topic) { Fabricate(:topic, user: user, tags: [tag1], category: category) }
|
||||
fab!(:post) { Fabricate(:post, user: user, topic: topic) }
|
||||
|
||||
it "counts after topic becomes uncategorized" do
|
||||
PostRevisor.new(post).revise!(
|
||||
topic.user,
|
||||
user,
|
||||
raw: post.raw,
|
||||
tags: [tag1.name],
|
||||
category_id: SiteSetting.uncategorized_category_id,
|
||||
|
@ -187,7 +187,6 @@ RSpec.describe WatchedWord do
|
||||
end
|
||||
|
||||
it "doesn't need approval in a private message" do
|
||||
Group.refresh_automatic_groups!
|
||||
manager =
|
||||
NewPostManager.new(
|
||||
tl2_user,
|
||||
|
Reference in New Issue
Block a user