shinkan-jinkendo/backend/tests/test_planning_exercise_path_builder.py
Lars a19ed02300
All checks were successful
Deploy Development / deploy (push) Successful in 44s
Test Suite / pytest-backend (push) Successful in 40s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 12s
Test Suite / k6 /health Baseline (push) Successful in 33s
Test Suite / playwright-tests (push) Successful in 1m13s
Implement Phase C3 Enhancements for Progression Path Suggestion
- Incremented version to 0.8.185, reflecting the implementation of Phase C3 features.
- Introduced the `POST /api/planning/progression-path-suggest` endpoint for generating exercise progression paths.
- Enhanced the ExerciseProgressionGraphPanel with a new ExerciseProgressionPathBuilder for reviewing and saving paths.
- Updated changelog to document the new capabilities in planning AI functionality.
2026-05-23 11:46:25 +02:00

26 lines
864 B
Python

"""Tests Planungs-KI Phase C3 — Pfad-Vorschläge."""
from planning_exercise_path_builder import _pick_next_path_hit, _hit_to_path_step
def test_pick_next_path_hit_skips_used():
hits = [{"id": 1, "title": "A"}, {"id": 2, "title": "B"}, {"id": 3, "title": "C"}]
assert _pick_next_path_hit(hits, {1})["id"] == 2
assert _pick_next_path_hit(hits, {1, 2, 3}) is None
def test_hit_to_path_step_maps_variant():
step = _hit_to_path_step(
{
"id": 10,
"title": "Test",
"score": 0.8,
"reasons": ["Graph"],
"suggested_variant_id": 7,
"suggested_variant_name": "Leicht",
"variants": [{"id": 7, "variant_name": "Leicht"}],
}
)
assert step["exercise_id"] == 10
assert step["variant_id"] == 7
assert step["suggested_variant_name"] == "Leicht"