Files
danbooru/test/functional/post_approvals_controller_test.rb
2020-03-20 18:03:01 -05:00

48 lines
1.3 KiB
Ruby

require 'test_helper'
class PostApprovalsControllerTest < ActionDispatch::IntegrationTest
context "The post approvals controller" do
setup do
@approver = create(:approver)
end
context "create action" do
context "for a pending post" do
should "approve the post" do
@post = create(:post, is_pending: true)
post_auth post_approvals_path(post_id: @post.id, format: :js), @approver
assert_response :success
assert(!@post.reload.is_pending?)
end
end
context "for a deleted post" do
should "undelete the post" do
@post = create(:post, is_deleted: true)
post_auth post_approvals_path(post_id: @post.id, format: :js), @approver
assert_response :success
assert(!@post.reload.is_deleted?)
end
end
should "not allow non-approvers to approve posts" do
@post = create(:post, is_pending: true)
post_auth post_approvals_path(post_id: @post.id, format: :js), create(:user)
assert_response 403
assert_equal(true, @post.reload.is_pending?)
end
end
context "index action" do
should "render" do
@approval = create(:post_approval)
get post_approvals_path
assert_response :success
end
end
end
end