The old flag limits were: * 1 flag per day for regular members. * 10 flags per day for Gold users. * Unlimited flags for approvers. The new flag limits are: * 10 flags in the modqueue at once for regular users. * Unlimited flags for approvers. * Unlimited flags for users with a high enough flag success rate. If you have at least 30 flags in the last 3 months, and you have at least a 70% flag success rate, then you get unlimited flags. 10 flags at once means you can have up to 10 flagged posts in the modqueue at the same time. Because flags stay in the modqueue for 3 days, this means you can flag on average 10 posts every 3 days, or just over 3 posts per day.
40 lines
1.3 KiB
Ruby
40 lines
1.3 KiB
Ruby
require 'test_helper'
|
|
|
|
class PostApprovalTest < ActiveSupport::TestCase
|
|
context "a pending post" do
|
|
setup do
|
|
@user = create(:user, created_at: 2.weeks.ago)
|
|
@post = create(:post, uploader: @user, is_pending: true)
|
|
@approver = create(:user, can_approve_posts: true)
|
|
end
|
|
|
|
context "That is approved" do
|
|
should "create a postapproval record" do
|
|
assert_difference("PostApproval.count") do
|
|
@post.approve!(@approver)
|
|
end
|
|
end
|
|
|
|
should "prevent an approver from approving the same post twice" do
|
|
@approval1 = create(:post_approval, post: @post, user: @approver)
|
|
@approval2 = build(:post_approval, post: @post, user: @approver)
|
|
|
|
assert_equal(false, @approval2.valid?)
|
|
assert_equal(["You have previously approved this post and cannot approve it again"], @approval2.errors[:base])
|
|
end
|
|
end
|
|
|
|
context "#search method" do
|
|
should "work" do
|
|
CurrentUser.scoped(@approver) do
|
|
@post.update!(tag_string: "touhou")
|
|
@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
|
|
end
|