Make invalid search input explicit in UI and API
This commit is contained in:
@ -196,3 +196,28 @@ def test_api_combined_filters_respect_same_player_season_context(client):
|
||||
)
|
||||
assert response.status_code == 200
|
||||
assert response.json()["count"] == 0
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_players_api_returns_400_for_invalid_numeric_filter(client):
|
||||
response = client.get(reverse("api:players"), data={"points_per_game_min": "abc"})
|
||||
assert response.status_code == 400
|
||||
payload = response.json()
|
||||
assert payload["detail"] == "Invalid search parameters."
|
||||
assert "points_per_game_min" in payload["errors"]
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_players_api_returns_400_for_invalid_choice_filter(client):
|
||||
response = client.get(reverse("api:players"), data={"sort": "not-a-sort"})
|
||||
assert response.status_code == 400
|
||||
payload = response.json()
|
||||
assert "sort" in payload["errors"]
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_players_api_returns_400_for_invalid_range_combination(client):
|
||||
response = client.get(reverse("api:players"), data={"age_min": 30, "age_max": 20})
|
||||
assert response.status_code == 400
|
||||
payload = response.json()
|
||||
assert "age_max" in payload["errors"]
|
||||
|
||||
Reference in New Issue
Block a user