From 0697af6d233f2b9770fdeaa25f04d44e1be7b1b5 Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 28 Nov 2016 02:49:38 -0600 Subject: [PATCH] Fix #2771: Approving deleted image doesn't create mod action. --- app/models/post.rb | 4 ++++ test/unit/post_test.rb | 28 ++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/app/models/post.rb b/app/models/post.rb index cd5ff25ea..64287d0dd 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -327,6 +327,10 @@ class Post < ActiveRecord::Base PostApproval.create(user_id: CurrentUser.id, post_id: id) + if is_deleted_was == true + ModAction.create(:description => "undeleted post ##{id}") + end + save! end diff --git a/test/unit/post_test.rb b/test/unit/post_test.rb index ca385ece3..081c9a568 100644 --- a/test/unit/post_test.rb +++ b/test/unit/post_test.rb @@ -329,10 +329,30 @@ class PostTest < ActiveSupport::TestCase end end - should "be undeleted" do - @post.undelete! - @post.reload - assert_equal(false, @post.is_deleted?) + context "when undeleted" do + should "be undeleted" do + @post.undelete! + assert_equal(false, @post.reload.is_deleted?) + end + + should "create a mod action" do + assert_difference("ModAction.count", 1) do + @post.undelete! + end + end + end + + context "when approved" do + should "be undeleted" do + @post.approve! + assert_equal(false, @post.reload.is_deleted?) + end + + should "create a mod action" do + assert_difference("ModAction.count", 1) do + @post.approve! + end + end end should "be appealed" do