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