diff --git a/backend/app/utils/tag_prefix.py b/backend/app/utils/tag_prefix.py index ccdf38f..3dd15b2 100644 --- a/backend/app/utils/tag_prefix.py +++ b/backend/app/utils/tag_prefix.py @@ -37,7 +37,7 @@ def parse_kind_prefix(raw: str) -> tuple[str | None, str]: parse_kind_prefix("Character:Saber") -> ("character", "Saber") parse_kind_prefix("sunset") -> (None, "sunset") parse_kind_prefix("http://example") -> (None, "http://example") - parse_kind_prefix("artist: Eric ") -> ("artist", "Eric") + parse_kind_prefix("fandom: FSN ") -> ("fandom", "FSN") """ if ":" in raw: prefix, rest = raw.split(":", 1) diff --git a/tests/test_api_tags.py b/tests/test_api_tags.py index 4f86b86..3322556 100644 --- a/tests/test_api_tags.py +++ b/tests/test_api_tags.py @@ -75,12 +75,12 @@ async def test_create_tag_name_only_defaults_to_general(client): @pytest.mark.asyncio async def test_create_tag_with_kind_prefix(client): - """IR-style: `name="artist:Eric"` without explicit kind → parsed as artist.""" - resp = await client.post("/api/tags", json={"name": "artist:Eric"}) + """IR-style: `name="character:Saber"` without explicit kind → parsed as character.""" + resp = await client.post("/api/tags", json={"name": "character:Saber"}) assert resp.status_code == 201 body = await resp.get_json() - assert body["name"] == "Eric" - assert body["kind"] == "artist" + assert body["name"] == "Saber" + assert body["kind"] == "character" @pytest.mark.asyncio @@ -88,11 +88,11 @@ async def test_explicit_kind_overrides_prefix_parsing(client): """If caller passes explicit kind, don't re-parse the name — colon and prefix stay literal.""" resp = await client.post( - "/api/tags", json={"name": "artist:Eric", "kind": "general"} + "/api/tags", json={"name": "character:Saber", "kind": "general"} ) assert resp.status_code == 201 body = await resp.get_json() - assert body["name"] == "artist:Eric" + assert body["name"] == "character:Saber" assert body["kind"] == "general"