mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: Display the reason for many reviewable items
Queued Posts and Users will now display a reason why they are in the review queue.
This commit is contained in:
@@ -6,14 +6,40 @@ describe Jobs::CreateUserReviewable do
|
||||
let(:user) { Fabricate(:user) }
|
||||
|
||||
it "creates the reviewable" do
|
||||
SiteSetting.must_approve_users = true
|
||||
described_class.new.execute(user_id: user.id)
|
||||
|
||||
reviewable = Reviewable.find_by(target: user)
|
||||
expect(reviewable).to be_present
|
||||
expect(reviewable.pending?).to eq(true)
|
||||
expect(reviewable.reviewable_scores).to be_present
|
||||
expect(reviewable.payload['username']).to eq(user.username)
|
||||
expect(reviewable.payload['name']).to eq(user.name)
|
||||
expect(reviewable.payload['email']).to eq(user.email)
|
||||
end
|
||||
|
||||
describe "reasons" do
|
||||
it "does nothing if there's no reason" do
|
||||
described_class.new.execute(user_id: user.id)
|
||||
expect(Reviewable.find_by(target: user)).to be_blank
|
||||
end
|
||||
|
||||
it "adds must_approve_users if enabled" do
|
||||
SiteSetting.must_approve_users = true
|
||||
described_class.new.execute(user_id: user.id)
|
||||
reviewable = Reviewable.find_by(target: user)
|
||||
score = reviewable.reviewable_scores.first
|
||||
expect(score).to be_present
|
||||
expect(score.reason).to eq('must_approve_users')
|
||||
end
|
||||
|
||||
it "adds invite_only if enabled" do
|
||||
SiteSetting.invite_only = true
|
||||
described_class.new.execute(user_id: user.id)
|
||||
reviewable = Reviewable.find_by(target: user)
|
||||
score = reviewable.reviewable_scores.first
|
||||
expect(score).to be_present
|
||||
expect(score.reason).to eq('invite_only')
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user