From: Carl Worth Date: Thu, 25 Jun 2020 16:08:53 +0000 (-0700) Subject: Adapt test suite to add explicit voting to advance phases X-Git-Url: https://git.cworth.org/git?p=lmno-server;a=commitdiff_plain;h=2a7c76574f343ce95f7100b62b7d42842afaa6da Adapt test suite to add explicit voting to advance phases As of the previous commit, it's now required for players to explicit vote to advance from one phase to the next. That commit broke the test suite which didn't have this voting added. In this commit, we fix the test suite by adding that voting (and ensuring the state game state transitions from before to after the vote). --- diff --git a/test b/test index c4ddcf5..f117234 100755 --- a/test +++ b/test @@ -517,14 +517,39 @@ result=$(empathy_answer $charlie $prompt_id '"SunShine", "Grains of Sand", "wafe test "$result" = '{"valid":true}' TEST_END -empathy_judging() +TEST_SUBSECTION "Transition from answering to judging" + +empathy_ambiguities() { - curl_post $empathy_game_path/judging/$2 "{ \"word_groups\": $3}" "-b $1" + curl_get_event $empathy_game_path/events game-state "-b $1" \ + | jq .ambiguities +} + +TEST "Judging has not yet started" +result=$(echo $(empathy_ambiguities $alice)) +test "$result" = "null" +TEST_END + +empathy_end_answers() +{ + curl_post $empathy_game_path/end-answers/$2 "" "-b $1" } +TEST "Players vote to start judging" +empathy_end_answers $alice $prompt_id +empathy_end_answers $bob $prompt_id +empathy_end_answers $charlie $prompt_id +test "$?" = "0" +TEST_END + +TEST "Judging has now started" +result=$(echo $(empathy_ambiguities $alice)) +test "$result" != "null" +TEST_END + TEST_SUBSECTION "Judging answers" -empathy_ambiguities() +empathy_ambiguities_list() { curl_get_event $empathy_game_path/events game-state "-b $1" \ | jq .ambiguities[] @@ -532,10 +557,15 @@ empathy_ambiguities() TEST "Received all unique words" # echo here is to strip newlines -result=$(echo $(empathy_ambiguities $alice)) +result=$(echo $(empathy_ambiguities_list $alice)) test "$result" = '"Grains of Sand" "people" "sand" "sands" "sun" "SunLight" "SunShine" "towels" "wafer" "water"' TEST_END +empathy_judging() +{ + curl_post $empathy_game_path/judging/$2 "{ \"word_groups\": $3}" "-b $1" +} + TEST "Submit word groups from alice" result=$(empathy_judging $alice $prompt_id '[["sun","SunLight","SunShine"],["sand","sands","Grains of Sand"],["water","wafer"]]') test "$result" = '{"valid":true}' @@ -551,7 +581,37 @@ result=$(empathy_judging $charlie $prompt_id '[["SunLight","SunShine"],["sand"," test "$result" = '{"valid":true}' TEST_END +TEST_SUBSECTION "Transition from judging to scoring" + empathy_scores() +{ + curl_get_event $empathy_game_path/events game-state "-b $1" \ + | jq .scores +} + +TEST "Scoring has not yet started" +result=$(echo $(empathy_scores $alice)) +test "$result" = "null" +TEST_END + +empathy_end_judging() +{ + curl_post $empathy_game_path/end-judging/$2 "" "-b $1" +} + +TEST "Players vote to start scoring" +empathy_end_judging $alice $prompt_id +empathy_end_judging $bob $prompt_id +empathy_end_judging $charlie $prompt_id +test "$?" = "0" +TEST_END + +TEST "Scoring has now started" +result=$(echo $(empathy_scores $alice)) +test "$result" != "null" +TEST_END + +empathy_scores_names_numbers() { curl_get_event $empathy_game_path/events game-state "-b $1" \ | jq '.scores.scores[]|.player,.score' @@ -561,7 +621,7 @@ TEST_SUBSECTION "Scoring" TEST "Verify final scores as expected" # echo here is to strip newlines -result=$(echo $(empathy_scores $alice)) +result=$(echo $(empathy_scores_names_numbers $alice)) test "$result" = '"charlie" 9 "alice" 8 "bob" 6' TEST_END