Merge pull request #5306 from nonamethanks/new-roles

Users: add Contributor and Approver user levels
This commit is contained in:
evazion
2022-10-30 03:27:18 -05:00
committed by GitHub
29 changed files with 105 additions and 251 deletions

View File

@@ -3,13 +3,13 @@ require 'test_helper'
class ApproverPrunerTest < ActiveSupport::TestCase
context "ApproverPruner" do
setup do
@approver = create(:user, can_approve_posts: true)
@approver = create(:approver)
end
should "demote inactive approvers" do
assert_equal([@approver.id], ApproverPruner.inactive_approvers.map(&:id))
assert_nothing_raised { ApproverPruner.prune! }
assert_equal(false, @approver.reload.can_approve_posts)
assert_equal(User::Levels::CONTRIBUTOR, @approver.reload.level)
end
should "not demote active approvers" do
@@ -22,7 +22,7 @@ class ApproverPrunerTest < ActiveSupport::TestCase
should "not demote recently promoted approvers" do
as(create(:admin_user)) do
@user = create(:user)
@user.promote_to!(User::Levels::BUILDER, can_approve_posts: true)
@user.promote_to!(User::Levels::APPROVER)
end
assert_not_includes(ApproverPruner.inactive_approvers.map(&:id), @user.id)

View File

@@ -43,7 +43,7 @@ class PostAppealTest < ActiveSupport::TestCase
context "for users with unrestricted uploads" do
should "should not have an appeal limit" do
@user = create(:user, can_upload_free: true)
@user = create(:contributor)
create_list(:post_appeal, 10, creator: @user)
assert_equal(15, @user.upload_limit.upload_slots)

View File

@@ -5,7 +5,7 @@ class PostApprovalTest < ActiveSupport::TestCase
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)
@approver = create(:approver)
end
context "a pending post" do

View File

@@ -4,7 +4,7 @@ class PostFlagTest < ActiveSupport::TestCase
context "PostFlag: " do
context "an approver" do
should "be able to flag an unlimited number of posts" do
@user = create(:user, can_approve_posts: true)
@user = create(:approver)
assert_nothing_raised do
create_list(:post_flag, 6, creator: @user, status: :pending)