Initial support for user general remarks

This commit is contained in:
sebastien committed 2026-10-28 13:51:59 +01:00
1 parent a38c1ff4b3
commit 2c9dc65640
16 files changed
+606 -20

No files matched your search

+29
View File
@@ -132,6 +132,32 @@ class ScoreEditorGuiTests(ScoreEditorTests):
self.panel.set_busy(True)
self.assertEqual(str(self.panel.remark_button.cget("state")), "disabled")
def test_general_remarks_edits_invalidate_generation_and_preserve_options(self):
from copienator.general_remarks import remarks_for_copy as general_for_copy
self.app.tree.selection_set("general_remarks")
self.app.update()
panel = self.app.general_remarks_panel
panel.id_var.set("01")
panel.editor.insert("1.0", "First")
self.app.state_store.update_step("read_annotations", status="success",
values={"update_score": False, "return_answers_solution": False})
panel.save()
entry = self.app.state_store.step("read_annotations")
self.assertEqual(entry["status"], "stale")
self.assertTrue(entry["values"]["update_score"])
self.assertFalse(entry["values"]["return_answers_solution"])
panel.new()
panel.editor.insert("1.0", "Second")
panel.save()
panel.move(-1)
self.assertEqual(general_for_copy(self.evaluation, "1"), ["Second", "First"])
panel.delete()
panel.listbox.selection_set(0)
panel.delete()
self.assertEqual(general_for_copy(self.evaluation, "1"), [])
panel.id_var.set("2")
self.assertEqual(str(panel.editor.cget("state")), "disabled")
def test_completing_editor_selects_regeneration_and_preserves_options(self):
self.app.state_store.update_step("read_annotations", status="success", variant="grouped",
values={"update_score": False, "return_answers_solution": False, "annotation_dir": "BGnot"})
@@ -140,6 +166,9 @@ class ScoreEditorGuiTests(ScoreEditorTests):
self.app.update()
start.assert_not_called()
self.assertEqual(self.app.state_store.step("edit_scores")["status"], "success")
self.assertEqual(self.app.current_step.id, "general_remarks")
self.app.run_button.invoke()
self.app.update()
self.assertEqual(self.app.current_step.id, "read_annotations")
self.assertEqual(self.app.tree.selection(), ("read_annotations",))
self.assertEqual(self.app.tree.item("read_annotations", "values"), ("À revalider",))