def test_update_unknown_fine(client, banker, player): response = client.put(f"/players/{player['user'].uuid}", headers={'x-access-token': auth_for(banker)}, json={'fine_uuid': uuid.uuid4()}) assert response.get_json()['message'] == 'fine_not_found' assert response.status_code == 404
def test_delete_fine(client, conf_one_banker_one_team_many_fines): first_page = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }) fine_uuid = first_page.get_json()['fines'][-1]['uuid'] response = client.delete( f'/fines/{fine_uuid}', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }, ) assert response.status_code == 204
def test_update_player_unauthorized(client, player): response = client.put(f"/players/{player['user'].uuid}", headers={'x-access-token': auth_for(player['user'])}, json={'fine_uuid': player['fine'].uuid}) assert response.status_code == 403 assert response.get_json()['message'] == 'player_unauthorized'
def test_delete_unknown_fine(client, conf_one_banker_one_team_many_fines): first_page = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }) fine_uuid = str(uuid.uuid4()) response = client.delete( f'/fines/{fine_uuid}', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }, ) assert response.status_code == 404 assert response.get_json()['message'] == 'fine_not_found'
def test_update_missing_parameter(client, banker, player): response = client.put( f"/players/{player['user'].uuid}", headers={'x-access-token': auth_for(banker)}, ) assert response.status_code == 422 assert response.get_json()['message'] == 'missing_parameter'
def test_get_fines_list_second_page(client, conf_one_player_one_team_many_fines): first_page = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_player_one_team_many_fines) }) _lastUuid = first_page.get_json()['fines'][-1]['uuid'] second_page = client.get(f'/fines?_currentPage=2&_lastUuid={_lastUuid}', headers={ 'x-access-token': auth_for(conf_one_player_one_team_many_fines) }) fines_list = second_page.get_json()['fines'] assert isinstance(fines_list, list) assert len(fines_list) <= MAX_PER_PAGE assert second_page.status_code == 200
def test_delete_player_history(client, banker, test_player_with_fines): response = client.delete( f"/players/{test_player_with_fines[0].uuid}/fine", headers={ 'x-access-token': auth_for(banker) } ) assert response.status_code == 204
def test_update_player(client, banker, player): response = client.put(f"/players/{player['user'].uuid}", headers={'x-access-token': auth_for(banker)}, json={'fine_uuid': player['fine'].uuid}) player_total = response.get_json()['total'] assert isinstance(player_total, int) assert player_total == player['fine'].cost assert response.status_code == 200
def test_get_player_list_by_unknown_uuid(client, test_list_players): response = client.get( f'/players?_lastUuid={str(uuid.uuid4())}', headers={ 'x-access-token': auth_for(test_list_players[0]) } ) assert response.status_code == 404 assert response.get_json()['message'] == 'player_not_found'
def test_get_fines_list_filter_by_label(client, conf_one_player_one_team_many_fines): first_page = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_player_one_team_many_fines) }) label = first_page.get_json()['fines'][-1]['label'] response = client.get(f'/fines?_filter={label}', headers={ 'x-access-token': auth_for(conf_one_player_one_team_many_fines) }) fine = response.get_json()['fines'] assert isinstance(fine, list) assert len(fine) == 1 assert fine[0]['label'] == label assert response.status_code == 200
def test_get_player_history_unknown_player(client, banker): response = client.get( f"/players/{uuid.uuid4()}/fine", headers={ 'x-access-token': auth_for(banker) } ) assert response.status_code == 404 assert response.get_json()['message'] == 'player_not_found'
def test_update_fine_missing_parameter(client, conf_one_banker_one_team_many_fines): first_page = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }) fine_uuid = first_page.get_json()['fines'][-1]['uuid'] response = client.put(f'/fines/{fine_uuid}', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }, json={ 'label': 'new_label', }) assert response.status_code == 422 assert response.get_json()['message'] == 'missing_parameter'
def test_update_fine_unauthorized(client, conf_one_player_one_team_many_fines): first_page = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_player_one_team_many_fines), }) fine_uuid = first_page.get_json()['fines'][-1]['uuid'] response = client.put(f'/fines/{fine_uuid}', headers={ 'x-access-token': auth_for(conf_one_player_one_team_many_fines), }, json={ 'label': 'new_label', 'cost': 5, }) assert response.status_code == 403 assert response.get_json()['message'] == 'player_unauthorized'
def test_get_fines_list_first_page(client, conf_one_player_one_team_many_fines): response = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_player_one_team_many_fines) }) fines_list = response.get_json()['fines'] assert isinstance(fines_list, list) assert len(fines_list) <= MAX_PER_PAGE assert response.status_code == 200
def test_get_fines_list_per_page(client, conf_one_player_one_team_many_fines): _perPage = 10 response = client.get(f'/fines?_perPage={_perPage}', headers={ 'x-access-token': auth_for(conf_one_player_one_team_many_fines) }) fines_list = response.get_json()['fines'] assert isinstance(fines_list, list) assert len(fines_list) == _perPage assert response.status_code == 200
def test_get_player_empty_history(client, banker): response = client.get( f'/players/{banker.uuid}/fine', headers={ 'x-access-token': auth_for(banker) } ) value = response.get_json()['fines'] assert isinstance(value, dict) assert not value assert response.status_code == 200
def test_create_fine_missing_parameters(client, banker): response = client.post( f'/fines', headers={ 'x-access-token': auth_for(banker) }, json={ 'cost': 2, } ) assert response.status_code == 422 assert response.get_json()['message'] == 'missing_parameter'
def test_get_player_list_first_page(client, test_list_players): response = client.get( '/players', headers={ 'x-access-token': auth_for(test_list_players[0]) } ) players_list = response.get_json()['players'] assert isinstance(players_list, list) assert test_list_players[9].first_name not in players_list assert response.get_json()['full_count'] == len(test_list_players) assert response.status_code == 200
def test_delete_player_history_unauthorized( client, test_player_with_fines ): response = client.delete( f"/players/{test_player_with_fines[0].uuid}/fine", headers={ 'x-access-token': auth_for(test_player_with_fines[0]) } ) assert response.status_code == 403 assert response.get_json()['message'] == 'player_unauthorized'
def test_create_fine_unauthorized(client, player): response = client.post( f'/fines', headers={ 'x-access-token': auth_for(player['user']) }, json={ 'cost': 2, 'label': 'dummy_fine', } ) assert response.status_code == 403 assert response.get_json()['message'] == 'player_unauthorized'
def test_update_fine(client, conf_one_banker_one_team_many_fines): first_page = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }) fine_uuid = first_page.get_json()['fines'][-1]['uuid'] fine_label = first_page.get_json()['fines'][-1]['label'] fine_cost = first_page.get_json()['fines'][-1]['cost'] response = client.put(f'/fines/{fine_uuid}', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }, json={ 'label': 'new_label', 'cost': 5, }) assert first_page.get_json()['fines'][-1]['label'] == fine_label assert first_page.get_json()['fines'][-1]['cost'] == fine_cost assert response.status_code == 204
def test_get_player_history(client, banker, test_player_with_fines): response = client.get( f"/players/{test_player_with_fines[0].uuid}/fine", headers={ 'x-access-token': auth_for(banker) } ) player_history = response.get_json()['fines'] assert isinstance(player_history, dict) for player in test_player_with_fines[0].fines: assert player.fine.label in player_history.keys() assert response.status_code == 200
def test_delete_fine_missing_token( client, conf_one_banker_one_team_many_fines, ): first_page = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }) fine_uuid = str(uuid.uuid4()) response = client.delete(f'/fines/{fine_uuid}', ) assert response.status_code == 401 assert response.get_json()['message'] == 'token_missing'
def test_create_fine(client, banker): response = client.post( f'/fines', headers={ 'x-access-token': auth_for(banker) }, json={ 'cost': 2, 'label': 'dummy_fine', } ) assert response.status_code == 201 assert response.get_json()['message'] == 'Fine added!' assert response.get_json()['status'] == 'success'
def test_get_player_list_filter_by_unknown_name( client, test_list_players ): response = client.get( f'/players?_filter=JohnyJohn', headers={ 'x-access-token': auth_for(test_list_players[0]) } ) players_list = response.get_json()['players'] assert isinstance(players_list, list) assert not players_list assert response.get_json()['full_count'] == len(test_list_players) assert response.status_code == 200
def test_get_player_list_filter_by_last_name( client, test_list_players ): response = client.get( f'/players?_filter={test_list_players[0].last_name}', headers={ 'x-access-token': auth_for(test_list_players[0]) } ) players_list = response.get_json()['players'] assert isinstance(players_list, list) assert players_list[0]['last_name'] == test_list_players[0].last_name assert response.get_json()['full_count'] == len(test_list_players) assert response.status_code == 200
def test_update_fine_invalid_token( client, conf_one_banker_one_team_many_fines, ): first_page = client.get('/fines', headers={ 'x-access-token': auth_for(conf_one_banker_one_team_many_fines), }) fine_uuid = str(uuid.uuid4()) response = client.put( f'/fines/{fine_uuid}', headers={ 'x-access-token': auth_for_invalid_token(conf_one_banker_one_team_many_fines), }, json={ 'label': 'new_label', 'cost': 5 }) assert response.status_code == 401 assert response.get_json()['message'] == 'token_invalid'