"""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")