mirror of
https://github.com/discourse/discourse.git
synced 2025-05-28 10:11:25 +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:
@ -3,8 +3,8 @@
|
||||
|
||||
RSpec.describe Topic do
|
||||
let(:now) { Time.zone.local(2013, 11, 20, 8, 0) }
|
||||
fab!(:user)
|
||||
fab!(:user1) { Fabricate(:user) }
|
||||
fab!(:user) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
fab!(:user1) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
fab!(:whisperers_group) { Fabricate(:group) }
|
||||
fab!(:user2) { Fabricate(:user, groups: [whisperers_group]) }
|
||||
fab!(:moderator)
|
||||
@ -782,10 +782,7 @@ RSpec.describe Topic do
|
||||
fab!(:topic) { Fabricate(:topic, user: user) }
|
||||
|
||||
context "with rate limits" do
|
||||
before do
|
||||
RateLimiter.enable
|
||||
Group.refresh_automatic_groups!
|
||||
end
|
||||
before { RateLimiter.enable }
|
||||
|
||||
use_redis_snapshotting
|
||||
|
||||
@ -870,8 +867,6 @@ RSpec.describe Topic do
|
||||
fab!(:user) { trust_level_2 }
|
||||
fab!(:topic) { Fabricate(:private_message_topic, user: trust_level_2) }
|
||||
|
||||
before { Group.refresh_automatic_groups! }
|
||||
|
||||
describe "by username" do
|
||||
it "should be able to invite a user" do
|
||||
expect(topic.invite(user, user1.username)).to eq(true)
|
||||
@ -977,8 +972,6 @@ RSpec.describe Topic do
|
||||
end
|
||||
|
||||
describe "by email" do
|
||||
before { Group.refresh_automatic_groups! }
|
||||
|
||||
it "should be able to invite a user" do
|
||||
expect(topic.invite(user, user1.email)).to eq(true)
|
||||
expect(topic.allowed_users).to include(user1)
|
||||
@ -1121,9 +1114,8 @@ RSpec.describe Topic do
|
||||
end
|
||||
|
||||
describe "private message" do
|
||||
fab!(:pm_user) { Fabricate(:user) }
|
||||
fab!(:pm_user) { Fabricate(:user, refresh_auto_groups: true) }
|
||||
fab!(:topic) do
|
||||
Group.refresh_automatic_groups!
|
||||
PostCreator
|
||||
.new(
|
||||
pm_user,
|
||||
@ -2730,7 +2722,6 @@ RSpec.describe Topic do
|
||||
use_redis_snapshotting
|
||||
|
||||
it "limits according to max_personal_messages_per_day" do
|
||||
Group.refresh_automatic_groups!
|
||||
create_post(
|
||||
user: user,
|
||||
archetype: "private_message",
|
||||
|
Reference in New Issue
Block a user