feat: track task scope status and version

This commit is contained in:
user
2026-07-17 18:08:24 +02:00
parent 3589eaf709
commit 586644bcff
5 changed files with 264 additions and 31 deletions
+54
View File
@@ -16,6 +16,14 @@ SCHEMAS = ROOT / "schemas"
TEMPLATES = ROOT / "templates"
EXAMPLE_CARD = ROOT / "examples" / "card"
EXAMPLE_SERIES = ROOT / "examples" / "series" / "series.json"
sys.path.insert(0, str(ROOT))
from tools.render_card import ( # noqa: E402
SCOPE_TASK_STATUS_LABELS,
scope_table_columns,
scope_task_status_label,
scope_task_version,
)
def load_json(path: Path) -> dict:
@@ -47,6 +55,51 @@ def check_json_files() -> None:
assert series.get("cards")
def check_scope_task_metadata() -> None:
rows = [
{
"chapter": "5.4",
"task": "Task04",
"idea_tex": "alokator",
"priority": "obowiązkowe",
"status": "in-progress",
"version": "v00.01",
}
]
assert scope_table_columns(rows) == [
"chapter",
"task",
"idea",
"priority",
"status",
"version",
]
assert SCOPE_TASK_STATUS_LABELS == {
"not-started": "brak",
"draft": "robocze",
"in-progress": "w trakcie",
"review": "do przeglądu",
"ready": "opracowane",
"blocked": "zablokowane",
}
assert scope_task_status_label("in-progress") == "w trakcie"
assert scope_task_version("v00.01") == "v00.01"
for invalid in ("started", "done"):
try:
scope_task_status_label(invalid)
except ValueError:
pass
else:
raise AssertionError(f"status {invalid!r} nie został odrzucony")
for invalid in ("0.1", "v0.01", "v00.1"):
try:
scope_task_version(invalid)
except ValueError:
pass
else:
raise AssertionError(f"wersja {invalid!r} nie została odrzucona")
def check_optional_json_schema() -> None:
try:
import jsonschema
@@ -269,6 +322,7 @@ def check_external_references() -> None:
def main() -> int:
check_json_files()
check_scope_task_metadata()
check_optional_json_schema()
check_render()
check_section_assets()