DEV: Automatically update groups for test users with explicit TL (#25415)

For performance reasons we don't automatically add fabricated users to trust level auto-groups. However, when explicitly passing a trust level to the fabricator, in 99% of cases it means that trust level is relevant for the test, and we need the groups.

This change makes it so that when a trust level is explicitly passed to the fabricator, the auto-groups are refreshed. There's no longer a need to also pass refresh_auto_groups: true, which means clearer tests, fewer mistakes, and less confusion.
This commit is contained in:
Ted Johansson
2024-01-29 17:52:02 +08:00
committed by GitHub
parent dbdc4bbbd6
commit f0a46f8b6f
25 changed files with 92 additions and 97 deletions

View File

@ -602,7 +602,7 @@ RSpec.describe UsersController do
it "allows you to toggle anon if enabled" do
SiteSetting.allow_anonymous_posting = true
user = sign_in(Fabricate(:user, trust_level: TrustLevel[1], refresh_auto_groups: true))
user = sign_in(Fabricate(:user, trust_level: TrustLevel[1]))
post "/u/toggle-anon.json"
expect(response.status).to eq(200)
@ -1974,7 +1974,7 @@ RSpec.describe UsersController do
end
it "returns success" do
user = Fabricate(:user, trust_level: 2, refresh_auto_groups: true)
user = Fabricate(:user, trust_level: TrustLevel[2])
Fabricate(:invite, invited_by: user)
sign_in(user)
@ -1986,7 +1986,7 @@ RSpec.describe UsersController do
end
it "filters by all if viewing self" do
inviter = Fabricate(:user, trust_level: 2, refresh_auto_groups: true)
inviter = Fabricate(:user, trust_level: TrustLevel[2])
sign_in(inviter)
Fabricate(:invite, email: "billybob@example.com", invited_by: inviter)
@ -2013,8 +2013,8 @@ RSpec.describe UsersController do
end
it "doesn't filter by email if another regular user" do
inviter = Fabricate(:user, trust_level: 2, refresh_auto_groups: true)
sign_in(Fabricate(:user, trust_level: 2, refresh_auto_groups: true))
inviter = Fabricate(:user, trust_level: TrustLevel[2])
sign_in(Fabricate(:user, trust_level: TrustLevel[2]))
Fabricate(:invite, email: "billybob@example.com", invited_by: inviter)
redeemed_invite = Fabricate(:invite, email: "jimtom@example.com", invited_by: inviter)
@ -2069,7 +2069,7 @@ RSpec.describe UsersController do
context "with redeemed invites" do
it "returns invited_users" do
inviter = Fabricate(:user, trust_level: 2, refresh_auto_groups: true)
inviter = Fabricate(:user, trust_level: TrustLevel[2])
sign_in(inviter)
invite = Fabricate(:invite, invited_by: inviter)
_invited_user = Fabricate(:invited_user, invite: invite, user: invitee)
@ -2088,7 +2088,7 @@ RSpec.describe UsersController do
context "with pending invites" do
context "with permission to see pending invites" do
it "returns invites" do
inviter = Fabricate(:user, trust_level: 2, refresh_auto_groups: true)
inviter = Fabricate(:user, trust_level: TrustLevel[2])
invite = Fabricate(:invite, invited_by: inviter)
sign_in(inviter)
@ -2117,7 +2117,7 @@ RSpec.describe UsersController do
context "with permission to see invite links" do
it "returns own invites" do
inviter = sign_in(Fabricate(:user, trust_level: 2, refresh_auto_groups: true))
inviter = sign_in(Fabricate(:user, trust_level: TrustLevel[2]))
invite =
Fabricate(
:invite,