From 310952fd6a2fb74127175486bb0d6723640a274d Mon Sep 17 00:00:00 2001 From: Vinoth Kannan Date: Thu, 13 Aug 2020 11:30:14 +0530 Subject: [PATCH] FIX: generate topic excerpt when moving posts to new topic. Currently, it's not generating the excerpt by default. We have to trigger the "Rebuild HTML" action to do it. --- app/models/post_mover.rb | 5 +++++ spec/requests/topics_controller_spec.rb | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/models/post_mover.rb b/app/models/post_mover.rb index 0e36834ac88..184fd3b9ee0 100644 --- a/app/models/post_mover.rb +++ b/app/models/post_mover.rb @@ -49,6 +49,7 @@ class PostMover DiscourseTagging.tag_topic_by_names(new_topic, Guardian.new(user), tags) move_posts_to new_topic watch_new_topic + update_topic_excerpt new_topic new_topic end enqueue_jobs(topic) @@ -57,6 +58,10 @@ class PostMover private + def update_topic_excerpt(topic) + topic.update_excerpt(topic.first_post.excerpt_for_topic) + end + def move_posts_to(topic) Guardian.new(user).ensure_can_see! topic @destination_topic = topic diff --git a/spec/requests/topics_controller_spec.rb b/spec/requests/topics_controller_spec.rb index 6b93acbc026..311a7bf6125 100644 --- a/spec/requests/topics_controller_spec.rb +++ b/spec/requests/topics_controller_spec.rb @@ -118,7 +118,10 @@ RSpec.describe TopicsController do result = response.parsed_body expect(result['success']).to eq(true) - expect(result['url']).to eq(Topic.last.relative_url) + + new_topic = Topic.last + expect(result['url']).to eq(new_topic.relative_url) + expect(new_topic.excerpt).to eq(p2.excerpt_for_topic) expect(Tag.all.pluck(:name)).to contain_exactly("tag1", "tag2") end