Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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()
Exemple #4
0
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()