def test_inform_player(ladder_service: LadderService): p1 = mock.create_autospec(Player('Dostya', id=1)) p1.ladder_rating = (1500, 500) ladder_service.inform_player(p1) assert p1.lobby_connection.sendJSON.called
def test_inform_player(ladder_service: LadderService): p1 = mock.create_autospec(Player("Dostya", id=1)) p1.ladder_rating = (1500, 500) ladder_service.inform_player(p1) assert p1.lobby_connection.sendJSON.called
async def test_start_game_called_on_match(ladder_service: LadderService): p1 = mock.create_autospec(Player('Dostya', id=1)) p1.ladder_rating = (2300, 64) p1.numGames = 0 p2 = mock.create_autospec(Player('QAI', id=4)) p2.ladder_rating = (2350, 125) p2.numGames = 0 ladder_service.start_game = CoroMock() ladder_service.inform_player = mock.Mock() ladder_service.start_search(p1, Search([p1]), 'ladder1v1') ladder_service.start_search(p2, Search([p2]), 'ladder1v1') await asyncio.sleep(1) ladder_service.inform_player.assert_called() ladder_service.start_game.assert_called_once()
def test_inform_player(ladder_service: LadderService): p1 = mock.create_autospec(Player('Dostya', id=1)) p1.ladder_rating = (1500, 500) ladder_service.inform_player(p1) # Message is sent after the first call p1.lobby_connection.sendJSON.assert_called_once() ladder_service.inform_player(p1) p1.lobby_connection.sendJSON.reset_mock() # But not after the second p1.lobby_connection.sendJSON.assert_not_called() ladder_service.on_connection_lost(p1) ladder_service.inform_player(p1) # But it is called if the player relogs p1.lobby_connection.sendJSON.assert_called_once()
async def test_start_game_called_on_match(ladder_service: LadderService, player_factory): p1 = player_factory('Dostya', player_id=1, ladder_rating=(2300, 64), ladder_games=0, with_lobby_connection=True) p2 = player_factory('QAI', player_id=2, ladder_rating=(2350, 125), ladder_games=0, with_lobby_connection=True) ladder_service.start_game = CoroutineMock() ladder_service.inform_player = CoroutineMock() await ladder_service.start_search(p1, Search([p1]), 'ladder1v1') await ladder_service.start_search(p2, Search([p2]), 'ladder1v1') await asyncio.sleep(2) ladder_service.inform_player.assert_called() ladder_service.start_game.assert_called_once()