async def test_game_connection_not_restored_if_game_state_prohibits( lobbyconnection: LobbyConnection, game_service: GameService, game_stats_service, game_state, mock_player, mocker): protocol = mocker.patch.object(lobbyconnection, 'protocol') lobbyconnection.player = mock_player lobbyconnection.player.game_connection = None lobbyconnection.player.state = PlayerState.IDLE lobbyconnection.game_service = game_service game = mock.create_autospec(Game(42, game_service, game_stats_service)) game.state = game_state game.password = None game.game_mode = 'faf' game.id = 42 game_service.games[42] = game lobbyconnection.command_restore_game_session({'game_id': 42}) assert not lobbyconnection.game_connection assert lobbyconnection.player.state == PlayerState.IDLE protocol.send_message.assert_any_call({ "command": "notice", "style": "info", "text": "The game you were connected to is no longer available" })
async def test_game_connection_restored_if_game_exists( lobbyconnection: LobbyConnection, game_service: GameService, game_stats_service, game_state, mock_player): lobbyconnection.player = mock_player lobbyconnection.player.game_connection = None lobbyconnection.player.state = PlayerState.IDLE lobbyconnection.game_service = game_service game = mock.create_autospec(Game(42, game_service, game_stats_service)) game.state = game_state game.password = None game.game_mode = 'faf' game.id = 42 game_service.games[42] = game lobbyconnection.command_restore_game_session({'game_id': 42}) assert lobbyconnection.game_connection assert lobbyconnection.player.state == PlayerState.PLAYING
async def test_game_connection_not_restored_if_no_such_game_exists( lobbyconnection: LobbyConnection, mocker, mock_player): protocol = mocker.patch.object(lobbyconnection, 'protocol') lobbyconnection.player = mock_player lobbyconnection.player.game_connection = None lobbyconnection.player.state = PlayerState.IDLE lobbyconnection.command_restore_game_session({'game_id': 123}) assert not lobbyconnection.player.game_connection assert lobbyconnection.player.state == PlayerState.IDLE protocol.send_message.assert_any_call({ "command": "notice", "style": "info", "text": "The game you were connected to does no longer exist" })