mirror of
https://github.com/discourse/discourse.git
synced 2024-11-29 06:53:39 +08:00
f0a46f8b6f
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.
17 lines
641 B
Ruby
17 lines
641 B
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe PostAction do
|
|
it "triggers the 'flag_reviewed' event when there was at least one flag" do
|
|
user = Fabricate(:user, trust_level: TrustLevel[4])
|
|
|
|
post = Fabricate(:post)
|
|
events = DiscourseEvent.track_events { PostDestroyer.new(user, post).destroy }
|
|
expect(events.map { |e| e[:event_name] }).to_not include(:flag_reviewed)
|
|
|
|
flagged_post = Fabricate(:post)
|
|
PostActionCreator.spam(user, flagged_post)
|
|
events = DiscourseEvent.track_events { PostDestroyer.new(user, flagged_post).destroy }
|
|
expect(events.map { |e| e[:event_name] }).to include(:flag_reviewed)
|
|
end
|
|
end
|