From 05fe33111e1e20d0efbfee4782e202295a4007ce Mon Sep 17 00:00:00 2001 From: Robin Ward <robin.ward@gmail.com> Date: Tue, 2 Jul 2013 16:42:25 -0400 Subject: [PATCH] FIX: Moving a post should also update its TopicLink records --- app/models/post_mover.rb | 3 +++ spec/models/topic_spec.rb | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/models/post_mover.rb b/app/models/post_mover.rb index ff930738a9a..377b78f5e94 100644 --- a/app/models/post_mover.rb +++ b/app/models/post_mover.rb @@ -79,6 +79,9 @@ class PostMover id: post.id, topic_id: original_topic.id ) + + # Move any links from the post to the new topic + post.topic_links.update_all(topic_id: destination_topic.id) end def update_statistics diff --git a/spec/models/topic_spec.rb b/spec/models/topic_spec.rb index 6442cc7b347..eea06594468 100644 --- a/spec/models/topic_spec.rb +++ b/spec/models/topic_spec.rb @@ -234,7 +234,7 @@ describe Topic do let(:category) { Fabricate(:category, user: user) } let!(:topic) { Fabricate(:topic, user: user, category: category) } let!(:p1) { Fabricate(:post, topic: topic, user: user) } - let!(:p2) { Fabricate(:post, topic: topic, user: another_user)} + let!(:p2) { Fabricate(:post, topic: topic, user: another_user, raw: "Has a link to [evil trout](http://eviltrout.com) which is a cool site.")} let!(:p3) { Fabricate(:post, topic: topic, user: user)} let!(:p4) { Fabricate(:post, topic: topic, user: user)} @@ -279,6 +279,7 @@ describe Topic do before do topic.expects(:add_moderator_post) TopicUser.update_last_read(user, topic.id, p4.post_number, 0) + TopicLink.extract_from(p2) end context "to a new topic" do @@ -303,6 +304,7 @@ describe Topic do p2.reload p2.sort_order.should == 1 p2.post_number.should == 1 + p2.topic_links.first.topic_id.should == new_topic.id p4.reload p4.post_number.should == 2