diff --git a/app/models/post.rb b/app/models/post.rb index 49fcdd17d..c54ee6501 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -276,18 +276,6 @@ class Post < ApplicationRecord end end - def appeal!(reason) - if is_status_locked? - raise PostAppeal::Error.new("Post is locked and cannot be appealed") - end - - appeal = appeals.create(:reason => reason) - - if appeal.errors.any? - raise PostAppeal::Error.new(appeal.errors.full_messages.join("; ")) - end - end - def approve!(approver = CurrentUser.user) approvals.create(user: approver) end diff --git a/test/functional/moderator/dashboards_controller_test.rb b/test/functional/moderator/dashboards_controller_test.rb index 9475e8ad4..a1a11a851 100644 --- a/test/functional/moderator/dashboards_controller_test.rb +++ b/test/functional/moderator/dashboards_controller_test.rb @@ -127,14 +127,10 @@ module Moderator end context "for appeals" do - setup do - as(@user) do - @post = create(:post, :is_deleted => true) - @post.appeal!("blah") - end - end - should "render" do + @post = create(:post, is_deleted: true) + @appeal = create(:post_appeal, post: @post) + get_auth moderator_dashboard_path, @admin assert_response :success end diff --git a/test/functional/post_events_controller_test.rb b/test/functional/post_events_controller_test.rb index 3bd1cbfa7..98f0045b7 100644 --- a/test/functional/post_events_controller_test.rb +++ b/test/functional/post_events_controller_test.rb @@ -10,7 +10,7 @@ class PostEventsControllerTest < ActionDispatch::IntegrationTest as_user do @post = create(:post) @post.flag!("aaa") - @post.appeal!("aaa") + create(:post_appeal, post: @post) @post.approve!(@mod) end end diff --git a/test/unit/post_test.rb b/test/unit/post_test.rb index 428bb366b..01eb27534 100644 --- a/test/unit/post_test.rb +++ b/test/unit/post_test.rb @@ -482,9 +482,7 @@ class PostTest < ActiveSupport::TestCase end should "be appealed" do - assert_difference("PostAppeal.count", 1) do - @post.appeal!("xxx") - end + create(:post_appeal, post: @post) assert(@post.is_deleted?, "Post should still be deleted") assert_equal(1, @post.appeals.count) end @@ -561,9 +559,10 @@ class PostTest < ActiveSupport::TestCase end should "not allow new appeals" do - assert_raises(PostAppeal::Error) do - @post.appeal!("wrong") - end + @appeal = build(:post_appeal, post: @post) + + assert_equal(false, @appeal.valid?) + assert_equal(["Post is active"], @appeal.errors.full_messages) end should "not allow approval" do