37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
|
|
"""Tests Planungs-Artefakt am Progressionsgraph."""
|
||
|
|
import pytest
|
||
|
|
|
||
|
|
from progression_graph_planning_artifact import (
|
||
|
|
ARTIFACT_SCHEMA_VERSION,
|
||
|
|
normalize_planning_roadmap_payload,
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
def test_normalize_planning_roadmap_minimal():
|
||
|
|
out = normalize_planning_roadmap_payload(
|
||
|
|
{
|
||
|
|
"schema_version": ARTIFACT_SCHEMA_VERSION,
|
||
|
|
"goal_query": "Mae Geri Perfektion",
|
||
|
|
"max_steps": 5,
|
||
|
|
}
|
||
|
|
)
|
||
|
|
assert out["goal_query"] == "Mae Geri Perfektion"
|
||
|
|
assert out["max_steps"] == 5
|
||
|
|
|
||
|
|
|
||
|
|
def test_normalize_planning_roadmap_with_progression_roadmap():
|
||
|
|
out = normalize_planning_roadmap_payload(
|
||
|
|
{
|
||
|
|
"goal_query": "Kumite Beinarbeit",
|
||
|
|
"progression_roadmap": {
|
||
|
|
"stage_specs": [{"major_step_index": 0, "learning_goal": "Grundstellung"}],
|
||
|
|
},
|
||
|
|
}
|
||
|
|
)
|
||
|
|
assert out["progression_roadmap"]["stage_specs"][0]["learning_goal"] == "Grundstellung"
|
||
|
|
|
||
|
|
|
||
|
|
def test_normalize_rejects_invalid_type():
|
||
|
|
with pytest.raises(ValueError, match="JSON-Objekt"):
|
||
|
|
normalize_planning_roadmap_payload("not-json")
|