Commit e12b8e28b25603c2422f1edf35cde106f0163b3f

Authored by Luke Baker
1 parent c39a3b7a

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|
... ...