post approvals: add index page + search options (fix #3579).

This commit is contained in:
evazion
2018-05-05 13:07:49 -05:00
parent 181a906766
commit 7c1d5e25fb
7 changed files with 105 additions and 5 deletions

View File

@@ -0,0 +1,6 @@
FactoryBot.define do
factory(:post_approval) do
user factory: :moderator_user
post factory: :post, is_pending: true
end
end

View File

@@ -0,0 +1,16 @@
require 'test_helper'
class PostApprovalsControllerTest < ActionDispatch::IntegrationTest
context "The post approvals controller" do
setup do
@approval = FactoryBot.create(:post_approval)
end
context "index action" do
should "render" do
get post_approvals_path
assert_response :success
end
end
end
end

View File

@@ -7,7 +7,7 @@ class PostApprovalTest < ActiveSupport::TestCase
CurrentUser.user = @user
CurrentUser.ip_addr = "127.0.0.1"
@post = FactoryBot.create(:post, uploader_id: @user.id, is_pending: true)
@post = FactoryBot.create(:post, uploader_id: @user.id, tag_string: "touhou", is_pending: true)
@approver = FactoryBot.create(:user)
@approver.can_approve_posts = true
@@ -58,5 +58,14 @@ class PostApprovalTest < ActiveSupport::TestCase
end
end
end
context "#search method" do
should "work" do
@approval = @post.approve!(@approver)
@approvals = PostApproval.search(user_name: @approver.name, post_tags_match: "touhou", post_id: @post.id)
assert_equal([@approval.id], @approvals.map(&:id))
end
end
end
end