X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test;h=b480b5fb3409957334e030541468559b3d170c3e;hb=041cdbd90052345df5a05779ada61aec53e403d4;hp=e19539b16ba09d9177986689113b139b94f03a50;hpb=5c589dc3c8016c2f43174b1cf6de3e934835a142;p=empires-server diff --git a/test b/test index e19539b..b480b5f 100755 --- a/test +++ b/test @@ -302,7 +302,7 @@ tictactoe_game_path=tictactoe/$tictactoe_game_id tictactoe_move() { - curl_post $tictactoe_game_path/move "{ \"move\": $1 }" + curl_post $tictactoe_game_path/move "{ \"move\": $1 }" "-b .test-cookie" } lmno_profile() @@ -317,11 +317,16 @@ tictactoe_player_info() | grep ^data } -tictactoe_player() +tictactoe_player_name() { curl_put $tictactoe_game_path/player "{ \"name\": \"$1\" }" "-b .test-cookie" } +tictactoe_player_team() +{ + curl_put $tictactoe_game_path/player "{ \"team\": \"$1\" }" "-b .test-cookie" +} + TEST_SUBSECTION "Tic Tac Toe player-info" TEST "Hit LMNO /profile to set name to 'curl'" @@ -330,28 +335,62 @@ TEST_END TEST "Verify player-info event reports 'curl' name" result=$(tictactoe_player_info) -test "$result" = 'data: {"id":1,"name":"curl"}' +test "$result" = 'data: {"id":1,"name":"curl","team":""}' TEST_END TEST_SUBSECTION "Tic Tac Toe /player" TEST "Change name to 'newname'" -tictactoe_player newname +tictactoe_player_name newname +result=$(tictactoe_player_info) +test "$result" = 'data: {"id":1,"name":"newname","team":""}' +TEST_END + +TEST "Change team to 'X'" +tictactoe_player_team X +result=$(tictactoe_player_info) +test "$result" = 'data: {"id":1,"name":"newname","team":"X"}' +TEST_END + +TEST "Change team to 'O'" +tictactoe_player_team O +result=$(tictactoe_player_info) +test "$result" = 'data: {"id":1,"name":"newname","team":"O"}' TEST_END -TEST "Verify player-info event reports 'newname'" +TEST "Verify cannot change team to 'Z'" +tictactoe_player_team Z result=$(tictactoe_player_info) -test "$result" = 'data: {"id":1,"name":"newname"}' +test "$result" = 'data: {"id":1,"name":"newname","team":"O"}' +TEST_END + +TEST "Leave current team" +tictactoe_player_team "" +result=$(tictactoe_player_info) +test "$result" = 'data: {"id":1,"name":"newname","team":""}' TEST_END TEST_SUBSECTION "Tic Tac Toe /move" -TEST "Move to the center square" +TEST "Illegal to move when not on a team" +result=$(tictactoe_move 4) +test "$result" = '{"legal":false,"message":"You must be on a team to take a turn"}' +TEST_END + +TEST "Illegal to move when it's not your turn" +tictactoe_player_team O +result=$(tictactoe_move 4) +test "$result" = '{"legal":false,"message":"It'"'"'s not your turn to move"}' +TEST_END + +TEST "Legal move to center square" +tictactoe_player_team X result=$(tictactoe_move 4) test "$result" = '{"legal":true}' TEST_END TEST "Move to center square again is now illegal" +tictactoe_player_team O result=$(tictactoe_move 4) test "$result" = '{"legal":false,"message":"Square is already occupied"}' TEST_END