"""Sichtbarkeit: Progressionsgraph ↔ Übungen (Promotion, Kanten, Match).""" from routers.exercise_progression_graphs import _exercise_allowed_in_progression_graph def test_club_graph_rejects_private_exercise(): assert not _exercise_allowed_in_progression_graph( {"visibility": "private", "club_id": None, "created_by": 1}, graph_visibility="club", graph_club_id=5, profile_id=1, role="trainer", ) def test_club_graph_accepts_matching_club_exercise(): assert _exercise_allowed_in_progression_graph( {"visibility": "club", "club_id": 5, "created_by": 2}, graph_visibility="club", graph_club_id=5, profile_id=1, role="trainer", ) def test_club_graph_accepts_official_exercise(): assert _exercise_allowed_in_progression_graph( {"visibility": "official", "club_id": None, "created_by": 99}, graph_visibility="club", graph_club_id=5, profile_id=1, role="trainer", ) def test_private_graph_accepts_own_private_exercise(): assert _exercise_allowed_in_progression_graph( {"visibility": "private", "club_id": None, "created_by": 7}, graph_visibility="private", graph_club_id=None, profile_id=7, role="trainer", ) def test_official_graph_requires_official_exercise(): assert not _exercise_allowed_in_progression_graph( {"visibility": "club", "club_id": 5, "created_by": 2}, graph_visibility="official", graph_club_id=None, profile_id=1, role="trainer", ) assert _exercise_allowed_in_progression_graph( {"visibility": "official", "club_id": None, "created_by": 2}, graph_visibility="official", graph_club_id=None, profile_id=1, role="trainer", )