"""
Turneringsnavn/-datoer (2026-08-18) -- kolonnene har eksistert siden
migrasjon 001/006, men ingen UI har noensinne hatt en vei til å SETTE
dem via PATCH før nå (se update_tournament sin docstring-kommentar).
Lagt til etter at bruker påpekte at org-oppsettet mangler de fleste
turnering-parametrene en organisator faktisk trenger.
"""

from datetime import date

from app.routers.tournaments import TournamentUpdate, update_tournament

from tests.conftest import create_org, create_tournament


async def test_update_name_and_dates(pool):
    org_id = await create_org()
    tournament_id = await create_tournament(org_id, name="Opprinnelig navn")

    updated = await update_tournament(
        tournament_id,
        TournamentUpdate(
            name="Nytt navn",
            start_date=date(2026, 9, 1),
            end_date=date(2026, 9, 3),
        ),
        organization_id=org_id,
    )
    assert updated.name == "Nytt navn"
    assert updated.start_date == date(2026, 9, 1)
    assert updated.end_date == date(2026, 9, 3)


async def test_update_registration_and_visibility_fields(pool):
    """Bekrefter at feltene som allerede er fullt fungerende i
    registration.py (påmeldingsfrist/kapasitet/venteliste/godkjenning)
    faktisk lar seg sette via PATCH -- de manglet kun UI, ikke
    backend-støtte."""
    org_id = await create_org()
    tournament_id = await create_tournament(org_id)

    updated = await update_tournament(
        tournament_id,
        TournamentUpdate(
            visibility="public",
            description="En testturnering",
            registration_capacity=40,
            registration_overflow_policy="waitlist",
            registration_requires_approval=True,
        ),
        organization_id=org_id,
    )
    assert updated.visibility == "public"
    assert updated.description == "En testturnering"
    assert updated.registration_capacity == 40
    assert updated.registration_overflow_policy == "waitlist"
    assert updated.registration_requires_approval is True
