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'
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'})
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'
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})
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'