from app.permissions import is_video_allowed_for_level def test_level_0_sees_everything(): assert is_video_allowed_for_level("A1.mp4", 0) is True assert is_video_allowed_for_level("B2.mp4", 0) is True assert is_video_allowed_for_level("C3.mp4", 0) is True def test_level_1_sees_everything(): assert is_video_allowed_for_level("A1.mp4", 1) is True assert is_video_allowed_for_level("B2.mp4", 1) is True assert is_video_allowed_for_level("C3.mp4", 1) is True def test_level_2_sees_only_a_and_b(): assert is_video_allowed_for_level("A1.mp4", 2) is True assert is_video_allowed_for_level("B2.mp4", 2) is True assert is_video_allowed_for_level("C3.mp4", 2) is False def test_level_3_sees_only_a(): assert is_video_allowed_for_level("A1.mp4", 3) is True assert is_video_allowed_for_level("B2.mp4", 3) is False assert is_video_allowed_for_level("C3.mp4", 3) is False def test_none_level_sees_nothing(): assert is_video_allowed_for_level("A1.mp4", None) is False def test_lowercase_filename_is_handled(): assert is_video_allowed_for_level("a1.mp4", 3) is True assert is_video_allowed_for_level("b1.mp4", 3) is False