Commit 408763a62696b6a12700ba9829a161ee167efabc

Authored by Luke Baker
1 parent d7606f19

add test to verify cached prompt count on choices

also update rake tasks to not use environment variables
Showing 1 changed file with 24 additions and 4 deletions   Show diff stats
lib/tasks/test_api.rake
... ... @@ -7,6 +7,7 @@ namespace :test_api do
7 7 task :verify_appearance_vote_prompt_ids => :environment do
8 8 puts verify_appearance_vote_prompt_ids().inspect
9 9 end
  10 +
10 11 def verify_appearance_vote_prompt_ids
11 12 bad_records = Vote.connection.select_all "
12 13 SELECT votes.id
... ... @@ -36,9 +37,23 @@ namespace :test_api do
36 37 return error_message.blank? ? [success_message, false] : [error_message, true]
37 38 end
38 39  
  40 + desc "Ensure that cached prompt counts are valid for a choice"
  41 + task :verify_cached_prompt_counts, [:choice_id] => :environment do |t, args|
  42 + choice = Choice.find(args[:choice_id])
  43 + puts verify_cached_prompt_counts(choice).inspect
  44 + end
  45 +
  46 + def verify_cached_prompt_counts(choice)
  47 + success_message = "Choice has accurate prompt cache count"
  48 + if choice.prompts_on_the_left.count != choice.prompts_on_the_left_count || choice.prompts_on_the_right.count != choice.prompts_on_the_right_count
  49 + error_message = "Choice #{choice.id} in Question ##{choice.question_id} has inaccurate prompt count cache"
  50 + end
  51 + return error_message.blank? ? [success_message, false] : [error_message, true]
  52 + end
  53 +
39 54 desc "Ensure that an idea: appearances on left + appearances on right >= (wins + losses + skips)"
40   - task :verify_choice_appearances_and_votes => :environment do
41   - choice = Choice.find(ENV["choice_id"])
  55 + task :verify_choice_appearances_and_votes, [:choice_id] => :environment do |t, args|
  56 + choice = Choice.find(args[:choice_id])
42 57 puts verify_choice_appearances_and_votes(choice).inspect
43 58 end
44 59  
... ... @@ -462,6 +477,11 @@ namespace :test_api do
462 477 end
463 478 end
464 479  
  480 + message, error_occurred = verify_cached_prompt_counts(choice)
  481 + if error_occurred
  482 + error_message += message + "\n"
  483 + end
  484 +
465 485  
466 486 if cached_score >= 50
467 487 total_scores_gte_fifty +=1
... ... @@ -642,8 +662,8 @@ namespace :test_api do
642 662 end
643 663  
644 664 desc "Ensure that a question has: answered_appearances == votes + skips"
645   - task :answered_appearances_equals_votes_and_skips => :environment do
646   - question = Question.find(ENV["question_id"])
  665 + task :answered_appearances_equals_votes_and_skips, [:question_id] => :environment do |t, args|
  666 + question = Question.find(args[:question_id])
647 667 puts answered_appearances_equals_votes_and_skips(question).inspect
648 668 end
649 669  
... ...