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,7 +171,9 @@ namespace :test_api do | ||
171 | :check_each_choice_appears_within_n_stddevs => "Ensure each choice appears within 6 standard deviations", | 171 | :check_each_choice_appears_within_n_stddevs => "Ensure each choice appears within 6 standard deviations", |
172 | :check_each_choice_equally_likely_to_appear_left_or_right => "Ensure each choice is equally likely to appear on left or right", | 172 | :check_each_choice_equally_likely_to_appear_left_or_right => "Ensure each choice is equally likely to appear on left or right", |
173 | :check_prompt_cache_hit_rate => "Check prompt cache hit rate", | 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 | :wins_and_losses_equals_two_times_wins => "Verifies that wins and losses are equal to 2 times the total number of wins", | 177 | :wins_and_losses_equals_two_times_wins => "Verifies that wins and losses are equal to 2 times the total number of wins", |
176 | :wins_and_losses_is_even => "Verify that sum of wins and losses is even", | 178 | :wins_and_losses_is_even => "Verify that sum of wins and losses is even", |
177 | :wins_and_losses_equals_two_times_vote_count => "Verify that sum of wins and losses equals two times the vote count", | 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,35 +379,45 @@ namespace :test_api do | ||
377 | return error_message.blank? ? [success_message, false] : [error_message, true] | 379 | return error_message.blank? ? [success_message, false] : [error_message, true] |
378 | end | 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 | error_message = "" | 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 | # Checks that counter_cache is working as expected | 386 | # Checks that counter_cache is working as expected |
385 | cached_prompts_size = question.prompts.size | 387 | cached_prompts_size = question.prompts.size |
386 | actual_prompts_size = question.prompts.count | 388 | actual_prompts_size = question.prompts.count |
387 | 389 | ||
388 | if cached_prompts_size != actual_prompts_size | 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 | end | 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 | cached_votes_size = question.votes.size | 401 | cached_votes_size = question.votes.size |
393 | actual_votes_size = question.votes.count | 402 | actual_votes_size = question.votes.count |
394 | 403 | ||
395 | if cached_votes_size != actual_votes_size | 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 | end | 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 | cached_choices_size = question.choices.size | 415 | cached_choices_size = question.choices.size |
400 | actual_choices_size = question.choices.count | 416 | actual_choices_size = question.choices.count |
401 | 417 | ||
402 | if cached_choices_size != actual_choices_size | 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 | end | 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 | return error_message.blank? ? [success_message, false] : [error_message, true] | 421 | return error_message.blank? ? [success_message, false] : [error_message, true] |
410 | end | 422 | end |
411 | end | 423 | end |