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

@ -1,9 +1,9 @@
# frozen_string_literal: true
describe "Composer Post Validations", type: :system do
fab!(:tl0_user) { Fabricate(:user, trust_level: 0, refresh_auto_groups: true) }
fab!(:tl1_user) { Fabricate(:user, trust_level: 1, refresh_auto_groups: true) }
fab!(:tl2_user) { Fabricate(:user, trust_level: 2, refresh_auto_groups: true) }
fab!(:tl0_user) { Fabricate(:user, trust_level: TrustLevel[0]) }
fab!(:tl1_user) { Fabricate(:user, trust_level: TrustLevel[1]) }
fab!(:tl2_user) { Fabricate(:user, trust_level: TrustLevel[2]) }
fab!(:topic)
fab!(:post) { Fabricate(:post, topic: topic) }