from __future__ import annotations from fastapi.testclient import TestClient from services.api.app import app def test_register_and_login() -> None: with TestClient(app) as client: response = client.post("/api/auth/register", json={"username": "alice", "password": "secret"}) assert response.status_code == 200 token = response.json().get("token") assert token response = client.post("/api/auth/login", json={"username": "alice", "password": "secret"}) assert response.status_code == 200 def test_register_duplicate() -> None: with TestClient(app) as client: response = client.post("/api/auth/register", json={"username": "bob", "password": "secret"}) assert response.status_code == 200 response = client.post("/api/auth/register", json={"username": "bob", "password": "secret"}) assert response.status_code == 400