Commit a15523ec585fea7b5274632b204028d6888c3013
1 parent
3b0c0ec4
Exists in
master
and in
1 other branch
split single test into 3 different ones
Showing
1 changed file
with
23 additions
and
11 deletions
Show diff stats
lib/tasks/test_api.rake
... | ... | @@ -171,7 +171,9 @@ namespace :test_api do |
171 | 171 | :check_each_choice_appears_within_n_stddevs => "Ensure each choice appears within 6 standard deviations", |
172 | 172 | :check_each_choice_equally_likely_to_appear_left_or_right => "Ensure each choice is equally likely to appear on left or right", |
173 | 173 | :check_prompt_cache_hit_rate => "Check prompt cache hit rate", |
174 | - :check_object_counter_cache_values_match_actual_values => "Check that object counter cache values match actual values", | |
174 | + :check_prompt_counter_cache => "Verify that prompt counter cache is accurate", | |
175 | + :check_vote_counter_cache => "Verify that vote counter cache is accurate", | |
176 | + :check_choice_counter_cache => "Verify that choice counter cache is accurate", | |
175 | 177 | :wins_and_losses_equals_two_times_wins => "Verifies that wins and losses are equal to 2 times the total number of wins", |
176 | 178 | :wins_and_losses_is_even => "Verify that sum of wins and losses is even", |
177 | 179 | :wins_and_losses_equals_two_times_vote_count => "Verify that sum of wins and losses equals two times the vote count", |
... | ... | @@ -377,35 +379,45 @@ namespace :test_api do |
377 | 379 | return error_message.blank? ? [success_message, false] : [error_message, true] |
378 | 380 | end |
379 | 381 | |
380 | - def check_object_counter_cache_values_match_actual_values(question) | |
381 | - # FIXME: split up into several tests | |
382 | + def check_prompt_counter_cache(question) | |
382 | 383 | error_message = "" |
383 | - success_message = "All cached object values match actual values within database" | |
384 | + success_message = "Prompt counter cache equals prompt count in database" | |
385 | + | |
384 | 386 | # Checks that counter_cache is working as expected |
385 | 387 | cached_prompts_size = question.prompts.size |
386 | 388 | actual_prompts_size = question.prompts.count |
387 | 389 | |
388 | 390 | if cached_prompts_size != actual_prompts_size |
389 | - error_message += "Error! Question #{question.id} has an inconsistent # of prompts! cached#: #{cached_prompts_size}, actual#: #{actual_prompts_size}\n" | |
391 | + error_message = "Error! Question #{question.id} has an inconsistent # of prompts! cached#: #{cached_prompts_size}, actual#: #{actual_prompts_size}\n" | |
390 | 392 | end |
393 | + return error_message.blank? ? [success_message, false] : [error_message, true] | |
394 | + end | |
391 | 395 | |
396 | + def check_vote_counter_cache(question) | |
397 | + error_message = "" | |
398 | + success_message = "Vote counter cache equals vote count in database" | |
399 | + | |
400 | + # Checks that counter_cache is working as expected | |
392 | 401 | cached_votes_size = question.votes.size |
393 | 402 | actual_votes_size = question.votes.count |
394 | 403 | |
395 | 404 | if cached_votes_size != actual_votes_size |
396 | - error_message += "Error! Question #{question.id} has an inconsistent # of votes! cached#: #{cached_votes_size}, actual#: #{actual_votes_size}\n" | |
405 | + error_message = "Error! Question #{question.id} has an inconsistent # of votes! cached#: #{cached_votes_size}, actual#: #{actual_votes_size}\n" | |
397 | 406 | end |
407 | + return error_message.blank? ? [success_message, false] : [error_message, true] | |
408 | + end | |
409 | + | |
410 | + def check_choice_counter_cache(question) | |
411 | + error_message = "" | |
412 | + success_message = "Choice counter cache equals choice count in database" | |
398 | 413 | |
414 | + # Checks that counter_cache is working as expected | |
399 | 415 | cached_choices_size = question.choices.size |
400 | 416 | actual_choices_size = question.choices.count |
401 | 417 | |
402 | 418 | if cached_choices_size != actual_choices_size |
403 | - error_message+= "Error! Question #{question.id} has an inconsistent # of choices! cached#: #{cached_choices_size}, actual#: #{actual_choices_size}\n" | |
419 | + error_message = "Error! Question #{question.id} has an inconsistent # of choices! cached#: #{cached_choices_size}, actual#: #{actual_choices_size}\n" | |
404 | 420 | end |
405 | - | |
406 | - #if cached_prompts_size != question.choices.size **2 - question.choices.size | |
407 | - # error_message += "Error! Question #{question.id} has an incorrect number of prompts! Expected #{question.choices.size **2 - question.choices.size}, Actual: #{cached_prompts_size}\n" | |
408 | - #end | |
409 | 421 | return error_message.blank? ? [success_message, false] : [error_message, true] |
410 | 422 | end |
411 | 423 | end | ... | ... |