Commit e12b8e28b25603c2422f1edf35cde106f0163b3f
1 parent
c39a3b7a
Exists in
master
and in
1 other branch
add test to verify range of choice scores
Showing
1 changed file
with
20 additions
and
0 deletions
Show diff stats
lib/tasks/test_api.rake
... | ... | @@ -28,6 +28,20 @@ namespace :test_api do |
28 | 28 | |
29 | 29 | task :all => [:question_vote_consistency,:generate_density_information] |
30 | 30 | |
31 | + desc "Ensure that all choices have 0 <= score <= 100" | |
32 | + task :verify_range_of_choices_scores => :environment do | |
33 | + puts verify_range_of_choices_scores().inspect | |
34 | + end | |
35 | + | |
36 | + def verify_range_of_choices_scores | |
37 | + bad_choices_count = Choice.count(:conditions => 'score < 0 OR score > 100') | |
38 | + success_message = "All choices have a score within 0-100" | |
39 | + if bad_choices_count > 0 | |
40 | + error_message = "Some choices have a score less than 0 or greater than 100" | |
41 | + end | |
42 | + return error_message.blank? ? [success_message, false] : [error_message, true] | |
43 | + end | |
44 | + | |
31 | 45 | desc "Don't run unless you know what you are doing" |
32 | 46 | task(:generate_lots_of_votes => :environment) do |
33 | 47 | if Rails.env.production? |
... | ... | @@ -346,6 +360,12 @@ namespace :test_api do |
346 | 360 | else |
347 | 361 | successes << message |
348 | 362 | end |
363 | + message, error_occurred = verify_range_of_choices_scores | |
364 | + if error_occurred | |
365 | + errors << message | |
366 | + else | |
367 | + successes << message | |
368 | + end | |
349 | 369 | |
350 | 370 | email_text = "Conducted the following tests on API data and found the following results\n" + "For each of the #{questions.length} questions in the database: \n" |
351 | 371 | errors.each do |e| | ... | ... |