Add per label remark, post correction
This commit is contained in:
1 parent
3abd7873e6
commit
8918d64452
13 files changed
+343
-23
No files matched your search
@@ -5,6 +5,7 @@ from pathlib import Path
|
||||
from unittest.mock import patch
|
||||
|
||||
from copienator import read_json
|
||||
from copienator.custom_remarks import remarks_for_copy
|
||||
from copienator_gui.app import CopienatorApp
|
||||
from copienator_gui.scores import score_path_for_id, set_score
|
||||
from copienator_gui.workflow import build_workflow
|
||||
@@ -111,3 +112,39 @@ class ScoreEditorGuiTests(ScoreEditorTests):
|
||||
self.app._skip_step()
|
||||
self.assertEqual(self.app.state_store.step("edit_scores")["status"], "skipped")
|
||||
self.assertEqual(self.app.state_store.step("final_score")["status"], "success")
|
||||
|
||||
def test_remark_saves_independently_reloads_and_clears(self):
|
||||
self.panel.id_var.set("1")
|
||||
self.panel.label_var.set("Ex 1")
|
||||
self.panel.score_var.set("bad unsaved score")
|
||||
self.panel.remark_entry.insert("1.0", "Justifier.\nDétailler le calcul.")
|
||||
self.panel.remark_button.invoke()
|
||||
self.assertEqual(read_json(self.path)["Ex 1"], "2")
|
||||
self.assertEqual(remarks_for_copy(self.evaluation, "01")["Ex 1"], "Justifier.\nDétailler le calcul.")
|
||||
self.assertEqual(self.app.state_store.step("read_annotations")["status"], "stale")
|
||||
self.panel.label_var.set("Ex 2")
|
||||
self.assertEqual(self.panel.remark_entry.get("1.0", "end-1c"), "")
|
||||
self.panel.label_var.set("Ex 1")
|
||||
self.assertIn("Justifier.", self.panel.remark_entry.get("1.0", "end-1c"))
|
||||
self.panel.remark_entry.delete("1.0", "end")
|
||||
self.panel.remark_button.invoke()
|
||||
self.assertEqual(remarks_for_copy(self.evaluation, "1"), {})
|
||||
self.panel.set_busy(True)
|
||||
self.assertEqual(str(self.panel.remark_button.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"})
|
||||
with patch.object(self.app.runner, "start") as start:
|
||||
self.app.run_button.invoke()
|
||||
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, "read_annotations")
|
||||
self.assertEqual(self.app.tree.selection(), ("read_annotations",))
|
||||
self.assertEqual(self.app.tree.item("read_annotations", "values"), ("À revalider",))
|
||||
self.assertTrue(self.app.arg_vars["update_score"].get())
|
||||
self.assertEqual(self.app.variant_var.get(), "grouped")
|
||||
self.assertFalse(self.app.arg_vars["return_answers_solution"].get())
|
||||
self.assertTrue(self.app.state_store.step("read_annotations")["values"]["update_score"])
|
||||
self.assertIn("--update-score", self.app._make_command())
|
||||
Reference in new issue
Block a user