mirror of
https://github.com/discourse/discourse.git
synced 2025-02-17 18:12:45 +08:00
![Robin Ward](/assets/img/avatar_default.png)
On forums with very few flags you don't want to calculate averages because they won't be very useful. Stick with the defaults until we hit 15 reviewables at least.
36 lines
1.4 KiB
Ruby
36 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe Jobs::ReviewablePriorities do
|
|
|
|
it "needs returns 0s with no existing reviewables" do
|
|
Jobs::ReviewablePriorities.new.execute({})
|
|
expect(Reviewable.min_score_for_priority(:low)).to eq(0.0)
|
|
expect(Reviewable.min_score_for_priority(:medium)).to eq(0.0)
|
|
expect(Reviewable.min_score_for_priority(:high)).to eq(0.0)
|
|
expect(Reviewable.score_required_to_hide_post).to eq(8.33)
|
|
end
|
|
|
|
it "needs a minimum amount of reviewables before it calculates anything" do
|
|
(1..5).each { |i| Fabricate(:reviewable, score: i) }
|
|
Jobs::ReviewablePriorities.new.execute({})
|
|
expect(Reviewable.min_score_for_priority(:low)).to eq(0.0)
|
|
expect(Reviewable.min_score_for_priority(:medium)).to eq(0.0)
|
|
expect(Reviewable.min_score_for_priority(:high)).to eq(0.0)
|
|
expect(Reviewable.score_required_to_hide_post).to eq(8.33)
|
|
end
|
|
|
|
it "will set priorities based on the maximum score" do
|
|
(1..Jobs::ReviewablePriorities.min_reviewables).each { |i| Fabricate(:reviewable, score: i) }
|
|
Jobs::ReviewablePriorities.new.execute({})
|
|
|
|
expect(Reviewable.min_score_for_priority(:low)).to eq(0.0)
|
|
expect(Reviewable.min_score_for_priority(:medium)).to eq(8.0)
|
|
expect(Reviewable.min_score_for_priority('medium')).to eq(8.0)
|
|
expect(Reviewable.min_score_for_priority(:high)).to eq(13.0)
|
|
expect(Reviewable.score_required_to_hide_post).to eq(8.66)
|
|
end
|
|
|
|
end
|