discourse/spec/integration/flags_spec.rb
Ted Johansson f0a46f8b6f
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.
2024-01-29 17:52:02 +08:00

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