def test_add_valid_game_room_creates_room(setup): room_name = 'room' player = 'Mick' request = {PLAYER_NAME: player, ROOM_NAME: room_name} create_game(request) assert game_room_exists(room_name)
def test_add_already_existing_game_room_gives_error(setup): room_name = 'room' player = 'Mick' request = {PLAYER_NAME: player, ROOM_NAME: room_name} result = create_game(request) assert ERROR not in result result = create_game(request) assert ERROR in result assert 'already exists' in result[ERROR]
def create_game(create_request: Dict[str, str]) -> Dict[str, Any]: resp = create_game_action.create_game(create_request) if ERROR not in resp: initialize_session(create_request[PLAYER_NAME], create_request[ROOM_NAME]) force_room_update_action.force_room_update(create_request[ROOM_NAME]) return resp
def test_join_room_same_player_name(setup): room_name = 'room' player = 'Mick' request = {PLAYER_NAME: player, ROOM_NAME: room_name} result = create_game(request) assert ERROR not in result result = join_game({PLAYER_NAME: player, ROOM_NAME: room_name}) assert ERROR in result assert 'already in game' in result[ERROR]
def test_create_then_join_one_player_per_team(setup): room_name = 'room' player = 'Mick' request = {PLAYER_NAME: player, ROOM_NAME: room_name} result = create_game(request) assert ERROR not in result player2 = 'Dvir' result = join_game({PLAYER_NAME: player2, ROOM_NAME: room_name}) assert ERROR not in result room = get_room(room_name) assert build_player(player) in room.team_1_players assert build_player(player2) in room.team_2_players
def test_create_game_missing_or_empty_data(setup, field, empty_data): room_name = 'room' player = 'Mick' request = {PLAYER_NAME: player, ROOM_NAME: room_name} if empty_data: request[field] = '' else: del request[field] result = create_game(request) assert ERROR in result if empty_data: assert 'must not evaluate to' in result[ERROR] else: assert 'missing field' in result[ERROR]