Esempio n. 1
0
def test_stages_playing_counting(db, socket):
    game = GameFactory()
    svc = GameService(db, socket, game.black_user)

    svc.user = game.black_user
    svc.execute('move', {'game_id': game.id, 'move': PASS})
    assert game.stage == 'playing'

    svc.user = game.white_user
    svc.execute('move', {'game_id': game.id, 'move': PASS})
    assert game.stage == 'counting'
Esempio n. 2
0
def test_confirm_score_finished(db, socket):
    game = GameFactory(stage='finished', result='B+1.5')
    svc = GameService(db, socket, game.black_user)
    svc.user = game.black_user

    with pytest.raises(InvalidStageError):
        svc.execute('confirm_score', {'game_id': game.id, 'result': 'B+1.5'})
Esempio n. 3
0
def test_confirm_score_aborted(db, socket):
    game = GameFactory(stage='counting', result='B+1.5')
    svc = GameService(db, socket, game.black_user)
    svc.socket.subscribe('game_finished')
    svc.socket.subscribe('game_data/'+str(game.id))

    svc.user = game.black_user
    svc.execute('confirm_score', {'game_id': game.id, 'result': 'B+1.5'})
    svc.user = game.white_user
    svc.execute('confirm_score', {'game_id': game.id, 'result': 'B+1.5'})

    assert game.result == 'aborted'
    assert game.stage == 'finished'
    assert len(svc.socket.sent_messages) == 2
    assert svc.socket.sent_messages[0]['method'] == 'game_finished'
    assert svc.socket.sent_messages[1]['method'] == 'game_data'
Esempio n. 4
0
def test_toggle_marked_dead_finished(db, socket):
    game = GameFactory(stage='finished')
    svc = GameService(db, socket, game.black_user)
    svc.user = game.black_user

    with pytest.raises(InvalidStageError):
        svc.execute('toggle_marked_dead', {'game_id': game.id, 'coord': 30})
Esempio n. 5
0
def test_toggle_marked_dead(db, socket):
    game = GameFactory(stage='counting')
    svc = GameService(db, socket, game.black_user)
    svc.user = game.black_user
    svc.socket.subscribe('game_update/'+str(game.id))

    game.board.play(30)
    game.apply_board_change()

    svc.execute('toggle_marked_dead', {'game_id': game.id, 'coord': 30})

    assert game.board.is_marked_dead(30)
    assert len(svc.socket.sent_messages) == 1
    assert svc.socket.sent_messages[0]['method'] == 'game_update'