This commit is contained in:
2026-02-11 23:54:42 +01:00 Unverified
commit ace6f5a022
47 changed files with 5315 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
# backend/tests/test_structure.py
import pytest
from httpx import AsyncClient
pytestmark = pytest.mark.anyio
async def test_manage_teams(
client: AsyncClient, auth_headers, valid_tournament_payload
):
# Setup
res = await client.post(
"/tournaments", json=valid_tournament_payload, headers=auth_headers
)
t_id = res.json()["id"]
# 1. Add a Team via POST
new_team = {"name": "Team E"}
post_res = await client.post(
f"/tournaments/{t_id}/teams", json=new_team, headers=auth_headers
)
assert post_res.status_code == 200
assert post_res.json()["name"] == "Team E"
# 2. Verify Bracket Regenerated (Match count should likely change or re-seed)
matches_res = await client.get(f"/tournaments/{t_id}/matches")
# With 4 teams -> ~6 matches. With 5 teams -> ~8-10 matches in Double Elim.
assert len(matches_res.json()) > 0
# 3. Bulk Update via PATCH (Replace all teams)
new_team_list = ["Team X", "Team Y"]
patch_res = await client.patch(
f"/tournaments/{t_id}/teams", json=new_team_list, headers=auth_headers
)
assert patch_res.status_code == 200
data = patch_res.json()
assert len(data) == 2
assert data[0]["name"] in ["Team X", "Team Y"]
async def test_manage_courts(
client: AsyncClient, auth_headers, valid_tournament_payload
):
res = await client.post(
"/tournaments", json=valid_tournament_payload, headers=auth_headers
)
t_id = res.json()["id"]
# Get initial courts
courts_res = await client.get(f"/tournaments/{t_id}/courts")
initial_courts = courts_res.json()
assert len(initial_courts) == 2
# Delete a court
court_id = initial_courts[0]["id"]
del_res = await client.delete(
f"/tournaments/{t_id}/courts/{court_id}", headers=auth_headers
)
assert del_res.status_code == 200
# Create a court
create_res = await client.post(
f"/tournaments/{t_id}/courts", json={"name": "New Court"}, headers=auth_headers
)
assert create_res.status_code == 200
assert create_res.json()["name"] == "New Court"