FIX: Should be able to recover a user deleted post if raw didn't change
This commit is contained in:
parent
fe9c271d44
commit
abf4ca9774
|
@ -188,7 +188,9 @@ class PostDestroyer
|
|||
|
||||
# has internal transactions, if we nest then there are some very high risk deadlocks
|
||||
last_revision = @post.revisions.last
|
||||
@post.revise(@user, { raw: last_revision.modifications["raw"][0] }, force_new_version: true) if last_revision.present?
|
||||
if last_revision.present? && last_revision.modifications['raw'].present?
|
||||
@post.revise(@user, { raw: last_revision.modifications["raw"][0] }, force_new_version: true)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -189,6 +189,16 @@ describe PostDestroyer do
|
|||
end
|
||||
|
||||
context "recovered by user" do
|
||||
|
||||
it "doesn't raise an error when the raw doesn't change" do
|
||||
PostRevisor.new(@reply).revise!(
|
||||
@user,
|
||||
{ edit_reason: 'made a change' },
|
||||
force_new_version: true
|
||||
)
|
||||
PostDestroyer.new(@user, @reply.reload).recover
|
||||
end
|
||||
|
||||
it "should increment the user's post count" do
|
||||
PostDestroyer.new(@user, @reply).destroy
|
||||
expect(@user.user_stat.topic_count).to eq(1)
|
||||
|
|
Loading…
Reference in New Issue