60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
|
|
"""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",
|
||
|
|
)
|