X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test;h=5671affacf3b7c7c29d3ae87fccbb07432fffc9d;hb=a769d4675ee33d59d70e059870cc89c5ac731d07;hp=703f005cfce3ec707f237b5df74321214eae8c25;hpb=6242e4b208d33d6dfe887ab19ace65d9060c06be;p=lmno-server diff --git a/test b/test index 703f005..5671aff 100755 --- a/test +++ b/test @@ -469,6 +469,14 @@ empathy_player_activate() eval ${player_pid}=$! } +# Usage: empathy_player_deactivate +empathy_player_deactivate() +{ + player="$1" + player_pid=${player}_pid + pkill -P ${!player_pid} +} + # Pulls a single named event out of the empathy event stream # # Usage: empathy_get_event @@ -827,9 +835,68 @@ result=$(echo $(empathy_scores alice)) test "$result" != "null" TEST_END -pkill -P $alice_pid -pkill -P $bob_pid -pkill -P $charlie_pid -pkill -P $dale_pid +TEST_SUBSECTION "Non players don't affect judging requirements" + +TEST "Start 2-player game with 6 registered players" +empathy_reset +empathy_player_activate eric +empathy_player_activate fred +prompt_id=$(empathy_submit_prompt alice 4 "1 truth or dare" | jq .id) +empathy_start alice $prompt_id +empathy_answer alice $prompt_id '"truth"' >/dev/null +empathy_answer bob $prompt_id '"true"' >/dev/null +empathy_end_answers alice $prompt_id +empathy_end_answers bob $prompt_id +test "$?" = "0" +TEST_END + +TEST "1 player votes for a match" +empathy_judged alice $prompt_id '[["truth","true"]]' >/dev/null +result=$(empathy_judged bob $prompt_id '[]') +test "$result" = '{"valid":true}' +TEST_END + +TEST "Verify the match passed the vote" +# echo here is to strip newlines +result=$(echo $(empathy_scores_names_numbers alice)) +test "$result" = '"alice" 2 "bob" 2 "charlie" 0 "dale" 0 "eric" 0 "fred" 0' +TEST_END + +TEST_SUBSECTION "Inactive players don't appear in scores" + +TEST "Start 2-player game with 6 registered players" +empathy_reset +prompt_id=$(empathy_submit_prompt alice 4 "1 best pet" | jq .id) +empathy_start alice $prompt_id +empathy_answer alice $prompt_id '"cats"' >/dev/null +empathy_answer bob $prompt_id '"dogs"' >/dev/null +empathy_end_answers alice $prompt_id +empathy_end_answers bob $prompt_id +test "$?" = "0" +TEST_END + +TEST "Deactivate 3 players" +empathy_player_deactivate dale +empathy_player_deactivate eric +empathy_player_deactivate fred +sleep 30 +test "$?" = "0" +TEST_END + +TEST "Finish game with 2 active players" +empathy_judged alice $prompt_id '[]' >/dev/null +result=$(empathy_judged bob $prompt_id '[]') +test "$result" = '{"valid":true}' +TEST_END + +TEST "Verify scores don't include inactive players" +# echo here is to strip newlines +result=$(echo $(empathy_scores_names_numbers alice)) +test "$result" = '"alice" 1 "bob" 1 "charlie" 0' +TEST_END + +empathy_player_deactivate alice +empathy_player_deactivate bob +empathy_player_deactivate charlie TEST_REPORT