mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06: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:
@@ -42,19 +42,16 @@ RSpec.describe BasicGroupSerializer do
|
||||
describe "#has_messages" do
|
||||
fab!(:group) { Fabricate(:group, has_messages: true) }
|
||||
|
||||
before { Group.refresh_automatic_groups! }
|
||||
|
||||
describe "for a staff user" do
|
||||
let(:guardian) { Guardian.new(Fabricate(:moderator)) }
|
||||
let!(:guardian) { Guardian.new(Fabricate(:moderator)) }
|
||||
|
||||
it "should be present" do
|
||||
Group.refresh_automatic_groups!
|
||||
expect(serializer.as_json[:has_messages]).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
describe "for a group user" do
|
||||
fab!(:user)
|
||||
fab!(:user) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
let(:guardian) { Guardian.new(user) }
|
||||
|
||||
before { group.add(user) }
|
||||
|
||||
Reference in New Issue
Block a user