DEV: Add posts_moved DiscourseEvent in PostMover (#30066)

This commit is contained in:
Mark VanLandingham 2024-12-03 13:16:20 -06:00 committed by GitHub
parent c67d3131aa
commit a5636afb08
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 20 additions and 0 deletions

View File

@ -113,6 +113,11 @@ class PostMover
close_topic_and_schedule_deletion if moving_all_posts
destination_topic.reload
DiscourseEvent.trigger(
:posts_moved,
destination_topic_id: destination_topic.id,
original_topic_id: original_topic.id,
)
destination_topic
end

View File

@ -811,6 +811,21 @@ RSpec.describe PostMover do
expect(topic).to be_closed
end
it "triggers posts_moved DiscourseEvent with correct args" do
events =
DiscourseEvent.track_events(:posts_moved) do
posts_to_move = [p1.id, p2.id, p3.id, p4.id]
topic.move_posts(user, posts_to_move, destination_topic_id: destination_topic.id)
end
expect(
events.detect do |e|
e[:params] ==
[{ destination_topic_id: destination_topic.id, original_topic_id: topic.id }]
end,
).to be_present
end
it "does not try to move small action posts" do
small_action =
Fabricate(