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:
@ -632,11 +632,13 @@ RSpec.describe Category do
|
||||
end
|
||||
|
||||
describe "update_stats" do
|
||||
before { @category = Fabricate(:category_with_definition) }
|
||||
before do
|
||||
@category =
|
||||
Fabricate(:category_with_definition, user: Fabricate(:user, refresh_auto_groups: true))
|
||||
end
|
||||
|
||||
context "with regular topics" do
|
||||
before do
|
||||
Group.refresh_automatic_groups!
|
||||
create_post(user: @category.user, category: @category.id)
|
||||
Category.update_stats
|
||||
@category.reload
|
||||
@ -675,7 +677,6 @@ RSpec.describe Category do
|
||||
|
||||
context "with revised post" do
|
||||
before do
|
||||
Group.refresh_automatic_groups!
|
||||
post = create_post(user: @category.user, category: @category.id)
|
||||
|
||||
SiteSetting.editing_grace_period = 1.minute
|
||||
@ -714,7 +715,6 @@ RSpec.describe Category do
|
||||
end
|
||||
|
||||
context "when there are no topics left" do
|
||||
before { Group.refresh_automatic_groups! }
|
||||
let!(:topic) { create_post(user: @category.user, category: @category.id).reload.topic }
|
||||
|
||||
it "can update the topic count to zero" do
|
||||
|
Reference in New Issue
Block a user