import pytest from tests.conftest import auth_header, login @pytest.mark.asyncio async def test_suche_findet_treffer_ueber_name_und_code(client, objekt_mit_position, mitarbeiter_user): """SEARCH-001: Objekt per (Teil-)Name UND per Code auffindbar.""" objekt, _ = objekt_mit_position token = await login(client, "mitarbeiter1") per_name = await client.get("/api/v1/suche?q=Kontroll-Test", headers=auth_header(token)) assert per_name.status_code == 200 treffer_ids = [t["id"] for t in per_name.json()] assert objekt.id in treffer_ids per_code = await client.get("/api/v1/suche?q=KT-01", headers=auth_header(token)) assert objekt.id in [t["id"] for t in per_code.json()] @pytest.mark.asyncio async def test_suche_zu_kurze_eingabe_liefert_leer(client, objekt_mit_position, mitarbeiter_user): token = await login(client, "mitarbeiter1") antwort = await client.get("/api/v1/suche?q=K", headers=auth_header(token)) assert antwort.status_code == 200 assert antwort.json() == [] @pytest.mark.asyncio async def test_suche_ohne_login_abgelehnt(client, objekt_mit_position): antwort = await client.get("/api/v1/suche?q=Kontroll") assert antwort.status_code == 401