FIX: Changing owner of deleted reply didn't work
This commit is contained in:
parent
4103783821
commit
ae6236d090
|
@ -781,7 +781,7 @@ class Post < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def create_reply_relationship_with(post)
|
||||
return if post.nil?
|
||||
return if post.nil? || self.deleted_at.present?
|
||||
post_reply = post.post_replies.new(reply_id: id)
|
||||
if post_reply.save
|
||||
if Topic.visible_post_types.include?(self.post_type)
|
||||
|
|
|
@ -5,8 +5,8 @@ describe PostOwnerChanger do
|
|||
let!(:editor) { Fabricate(:admin) }
|
||||
let(:topic) { Fabricate(:topic) }
|
||||
let(:user_a) { Fabricate(:user) }
|
||||
let(:p1) { Fabricate(:post, topic_id: topic.id) }
|
||||
let(:p2) { Fabricate(:post, topic_id: topic.id) }
|
||||
let(:p1) { Fabricate(:post, topic_id: topic.id, post_number: 1) }
|
||||
let(:p2) { Fabricate(:post, topic_id: topic.id, post_number: 2) }
|
||||
let(:p3) { Fabricate(:post) }
|
||||
|
||||
it "raises an error with a parameter missing" do
|
||||
|
@ -75,6 +75,14 @@ describe PostOwnerChanger do
|
|||
expect(p1.reload.user).to eq(user_a)
|
||||
end
|
||||
|
||||
it "changes the owner when the post is deleted" do
|
||||
p4 = Fabricate(:post, topic_id: topic.id, reply_to_post_number: p2.post_number)
|
||||
PostDestroyer.new(editor, p4).destroy
|
||||
|
||||
PostOwnerChanger.new(post_ids: [p4.id], topic_id: topic.id, new_owner: user_a, acting_user: editor).change_owner!
|
||||
expect(p4.reload.user).to eq(user_a)
|
||||
end
|
||||
|
||||
context "sets topic notification level for the new owner" do
|
||||
let(:p4) { Fabricate(:post, post_number: 2, topic_id: topic.id) }
|
||||
|
||||
|
|
Loading…
Reference in New Issue