This commit is contained in:
team3
2026-07-13 12:31:25 +02:00
parent 32d7ad9ea1
commit 9cd8e02e22
34 changed files with 747 additions and 606 deletions

View File

@@ -63,11 +63,18 @@ async def test_import_remappt_auftrag_atom_ids():
db.insert("auftraege", baustein_id=b["id"], art="falsch",
detail=f"Atom {a['id']} widerspricht dem Text")
d = json.loads(json.dumps(transfer.export(topic)))
# Alt-Export simulieren: befunde-Freitext an einer Section
# Alt-Export simulieren: befunde-Freitext an einer Section, braucht-Spalte
# an Atomen, braucht-Kante — alles muss crashfrei toleriert werden
d["sections"][0]["befunde"] = db.j([
f"KRITISCH (luecke): Atom {a['id']} fehlt inhaltlich",
"Langtext, Absatz 3 hat 120 Wörter (Regel: 4090): teilen."]) # → verwerfen
for z in d["atome"]:
z["braucht"] = "[]"
d["kanten"].append({"id": 999, "topic": topic, "von_atom": d["atome"][0]["id"],
"zu_atom": d["atome"][-1]["id"], "art": "braucht",
"status": "aktiv"})
transfer.importieren(d)
assert db.query("SELECT * FROM kanten WHERE art='braucht'") == []
atom_ids = {r["id"] for r in db.query("SELECT id FROM atome WHERE topic=?", (topic,))}
zeilen = db.query("SELECT au.* FROM auftraege au JOIN bausteine b"
" ON b.id=au.baustein_id WHERE b.topic=?", (topic,))