diff --git a/CHANGES.md b/CHANGES.md index 7cfee31..3f90e93 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse. --- -## 7.0.0-beta.4 - 2026-09-20 - wikitool new project: Seite und Tracker-Projekt unter einem Namen +## 7.0.0-beta.5 - 2026-09-20 - new project: Testabdeckung fuer die required-responsibility-Ablehnung **Author:** Torben Nehmer @@ -68,10 +68,14 @@ concern - readable here, never shipped as something to parse. **Migration:** none required - no kb/ page content changes - the fix is the ordinary .template adoption every root:kb type already requires, not a data migration +**Medium impact** - Typ `project` und Collection `kb/gtd/`: das Vorhaben als eigene Seitenart - Task-tracker provider layer, with a Super Productivity adapter - wikitool review: the weekly GTD review as a read-time join - wikitool new project: Seite und Tracker-Projekt unter einem Namen + +**Low impact** +- new project: Testabdeckung fuer die required-responsibility-Ablehnung ### Typ `project` und Collection `kb/gtd/`: das Vorhaben als eigene Seitenart @@ -194,6 +198,14 @@ Ein erzwungener Fehlschlag der eigentlichen Seiten-Schreibaktion (Schritt 3) nac bestaetigtem Tracker-Projekt ist eigens getestet: die Meldung nennt, dass die Tracker-Seite schon steht und nur die `kb/`-Seite fehlt, nie umgekehrt. +### new project: Testabdeckung fuer die required-responsibility-Ablehnung + +Gitea #119 (Paket #126s eigenes AC): `--responsibility` ist Pflicht und ein Wert ausserhalb des +Enums wird abgelehnt - beides galt schon vorher generisch ueber `types/project.schema.yaml`s +`required:`/`enum:` (#123), ohne dass #126 dafuer neuen Code brauchte. Nachgetragen: ein Test, +der das fuer den fehlenden Fall (`--set responsibility=...` ganz weggelassen) tatsaechlich belegt, +statt es nur zu behaupten. + --- ## 6.2.0 - 2026-09-19 - Entity-Subtyp project nach codebase umbenannt diff --git a/VERSION b/VERSION index b9942c9..28af6d3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.0.0-beta.4 +7.0.0-beta.5 diff --git a/tools/chemenu/tests/test_new_page.py b/tools/chemenu/tests/test_new_page.py index 2f3f112..7cf01eb 100644 --- a/tools/chemenu/tests/test_new_page.py +++ b/tools/chemenu/tests/test_new_page.py @@ -139,6 +139,16 @@ def test_new_project_creates_page_with_expected_frontmatter(monkeypatch, kb_dir) assert f"## {heading}" in body +def test_new_project_requires_responsibility(monkeypatch, kb_dir): + """Gitea #126's own AC: `--responsibility` (via `--set responsibility=...`) + is required. `types/project.schema.yaml` already lists it in `required:` + (#123) with no `default:`, so this needs no new code - only a test that + the generic schema-required refusal actually covers it for `project`.""" + result = _invoke_new(monkeypatch, kb_dir, ["new", "project", "--name", "Ohne Bereich"]) + assert result.exit_code == 1 + assert not list(kb_dir.rglob("Ohne Bereich.md")) + + def test_new_project_refuses_a_responsibility_outside_the_enum(monkeypatch, kb_dir): result = _invoke_new(monkeypatch, kb_dir, [ "new", "project", "--name", "Badvorhaben", "--set", "responsibility=nichtexistent",