/
pa1ch
/
FitAssistant
Обзор
Документация
Войти
/
pa1ch
/
FitAssistant
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/unit/services/test_program.py
66 строк
2 KB
Pavel Chugaev
Initial commit
30 май 2026, 00:24
30 май 2026, 00:24
af3a4bd
Код
Авторство
О чём код?
from app.services.program import ( add_program_exercise, create_program, delete_program, get_program_detail, get_programs, ) async def test_create_program(session, coach_user): p = await create_program(session, coach_user.id, "Push Pull Legs", "3-day split") assert p.name == "Push Pull Legs" assert p.description == "3-day split" assert p.coach_id == coach_user.id async def test_add_program_exercise(session, coach_user, seeded_exercises): p = await create_program(session, coach_user.id, "Test") pe = await add_program_exercise(session, p.id, 1, sets=3, reps_min=8, reps_max=12) assert pe.program_id == p.id assert pe.exercise_id == 1 assert pe.sets == 3 assert pe.reps_min == 8 assert pe.reps_max == 12 async def test_get_programs(session, coach_user): await create_program(session, coach_user.id, "Program A") await create_program(session, coach_user.id, "Program B") await session.commit() programs = await get_programs(session, coach_user.id) assert len(programs) == 2 names = [p.name for p in programs] assert "Program A" in names assert "Program B" in names async def test_get_programs_empty(session, coach_user): programs = await get_programs(session, coach_user.id) assert programs == [] async def test_get_program_detail(session, coach_user, seeded_exercises): p = await create_program(session, coach_user.id, "Detail Test") await add_program_exercise(session, p.id, 1, 3, 8, 12) await session.commit() detail = await get_program_detail(session, p.id) assert detail is not None assert detail.name == "Detail Test" assert len(detail.exercises) == 1 async def test_get_program_detail_not_found(session): detail = await get_program_detail(session, 99999) assert detail is None async def test_delete_program(session, coach_user): p = await create_program(session, coach_user.id, "To Delete") await session.commit() await delete_program(session, p.id) await session.commit() detail = await get_program_detail(session, p.id) assert detail is None