aboutsummaryrefslogtreecommitdiffziptar.gz
path: root/tests/test_human_done.py
diff options
context:
space:
mode:
authorgodosa <godosa@godosa.eu>2026-10-07 07:27:17 +0200
committergodosa <godosa@godosa.eu>2026-10-07 07:27:17 +0200
commit81d4e80fd5aabe4e80f58e960affa795cf7d34ec (patch)
treee98eeac2af6af63aa4287bba1f6d4a3af26b5727 /tests/test_human_done.py
downloadworkflow-81d4e80fd5aabe4e80f58e960affa795cf7d34ec.tar.gz
workflow-81d4e80fd5aabe4e80f58e960affa795cf7d34ec.zip
workflow: initial public history
Diffstat (limited to 'tests/test_human_done.py')
-rw-r--r--tests/test_human_done.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/test_human_done.py b/tests/test_human_done.py
new file mode 100644
index 0000000..e6affee
--- /dev/null
+++ b/tests/test_human_done.py
@@ -0,0 +1,40 @@
+import sys
+import unittest
+from pathlib import Path
+
+sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
+from wflib import tasks as T
+
+
+def ready(done):
+ doc = T.parse(f"# T\n\n## Pending\n\n- **t-x** [P2] (<1h): X.\n Done: {done}\n")
+ return doc.sections[0].items[0].runner_ready if hasattr(doc, "sections") else None
+
+
+class HumanDoneTest(unittest.TestCase):
+ def test_owner_bound_subject(self):
+ self.assertTrue(ready("owner-bound task with Done not counted"))
+
+ def test_owner_actions(self):
+ self.assertFalse(ready("owner confirms X"))
+ self.assertFalse(ready("owner approves X"))
+ self.assertFalse(ready("report to owner"))
+ self.assertFalse(ready("confirm it works"))
+
+ def test_word_alone_is_fine(self):
+ self.assertTrue(ready("owner-facing docs updated; owner-private names scrubbed"))
+ self.assertTrue(ready("tests confirm the parser handles X"))
+ self.assertTrue(ready("the owner file is read"))
+
+ def test_more_actions(self):
+ self.assertFalse(ready("owner says it is fine"))
+ self.assertFalse(ready("Owner tests it"))
+ self.assertFalse(ready("confirm with the owner"))
+
+ def test_match_exposed(self):
+ doc = T.parse("# T\n\n## Pending\n\n- **t-x** [P2] (<1h): X.\n Done: owner approves X\n")
+ self.assertEqual(doc.sections[0].items[0].human_done_match, "owner approves")
+
+
+if __name__ == "__main__":
+ unittest.main()