2019-05-12 21:55:44 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-05-07 13:25:11 -04:00
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
describe Jobs::ReviewablePriorities do
|
|
|
|
|
2019-09-19 13:42:50 -04:00
|
|
|
it "needs returns 0s with no existing reviewables" do
|
2019-05-07 13:25:11 -04:00
|
|
|
Jobs::ReviewablePriorities.new.execute({})
|
2019-05-22 17:23:45 -04:00
|
|
|
expect(Reviewable.min_score_for_priority(:low)).to eq(0.0)
|
2019-09-19 13:42:50 -04:00
|
|
|
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)
|
2019-05-07 13:25:11 -04:00
|
|
|
end
|
|
|
|
|
2019-09-19 13:42:50 -04:00
|
|
|
it "needs a minimum amount of reviewables before it calculates anything" do
|
|
|
|
(1..5).each { |i| Fabricate(:reviewable, score: i) }
|
2019-05-07 13:25:11 -04:00
|
|
|
Jobs::ReviewablePriorities.new.execute({})
|
2019-05-22 17:23:45 -04:00
|
|
|
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)
|
2019-09-19 13:42:50 -04:00
|
|
|
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)
|
2019-05-07 13:25:11 -04:00
|
|
|
end
|
2019-09-19 13:42:50 -04:00
|
|
|
|
2019-05-07 13:25:11 -04:00
|
|
|
end
|