update
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
"""QA-Detektoren: Fehler-Injektion auf Mini-Korpus — deterministisch, ohne LLM/Embedding."""
|
||||
|
||||
import json
|
||||
|
||||
import qa
|
||||
|
||||
|
||||
@@ -238,6 +240,25 @@ async def test_unecht_braucht_doppelt_nein(testdb, tmp_path, monkeypatch):
|
||||
assert report["unecht"] == ["Wackelkandidat"]
|
||||
|
||||
|
||||
async def test_write_report_spiegelt_note_als_event(testdb, tmp_path, monkeypatch):
|
||||
"""Report-JSONs liegen nur auf der Lauf-Maschine — write_report spiegelt Note/Quoten
|
||||
als kind='qa'-Event in die DB, damit ein DB-Pull für die Run-Analyse reicht."""
|
||||
db = testdb
|
||||
monkeypatch.setattr(qa, "QA_DIR", tmp_path)
|
||||
report = {"topic": "t", "run_id": "20260704-1452-b223", "note": 9.3, "note_artefakte": 8.0,
|
||||
"quoten": {"luecken": 0.1}, "quoten_artefakte": {"verwaiste": 0.0}}
|
||||
path = await qa.write_report(report)
|
||||
assert path.stem == "20260704-1452-b223"
|
||||
conn = await db.get_db()
|
||||
row = await (await conn.execute(
|
||||
"SELECT key, meta, run_id FROM events WHERE topic='t' AND kind='qa'")).fetchone()
|
||||
assert row and row[0] == "20260704-1452-b223"
|
||||
meta = json.loads(row[1])
|
||||
assert meta["note"] == 9.3 and meta["note_artefakte"] == 8.0
|
||||
assert meta["quoten"] == {"luecken": 0.1} and meta["quoten_artefakte"] == {"verwaiste": 0.0}
|
||||
assert row[2] == "" # manuelle QA ohne Lauf → leeres run_id ist korrekt
|
||||
|
||||
|
||||
async def test_topic_delete_entfernt_qa_ordner(testdb, tmp_path, monkeypatch):
|
||||
"""DELETE /topics räumt auch storage/qa/<topic>/ — Reports gehören zum Topic."""
|
||||
import routes
|
||||
|
||||
Reference in New Issue
Block a user