1.4 KiB
1.4 KiB
Спецификация: чтение программы (GetActive, ListVersions, GetVersion)
1. GetActive(int athleteId) → ProgramVersion?
Активная версия с body; программы/активной версии нет → null.
Изоляция: только программы этого атлета.
| # | Тест | Ожидание |
|---|---|---|
| 1 | есть активная | версия со status = active, body ≠ пусто |
| 2 | программы нет | null |
| 3 | все версии archived | null |
2. ListVersions(int athleteId) → IReadOnlyList<ProgramVersion>
Версии программы атлета (без body — поле пустое), по возрастанию номера. Программы нет → пустой список.
| # | Тест | Ожидание |
|---|---|---|
| 4 | три версии | 3 записи, номера 1–3 по возрастанию, статусы соответствуют, body пустые |
| 5 | чужой атлет | пустой список (изоляция) |
3. GetVersion(int athleteId, Guid versionId) → ProgramVersion?
Версия с body; чужая версия атлета / не существует → null (различие
не выдаётся).
| # | Тест | Ожидание |
|---|---|---|
| 6 | своя версия | версия с body |
| 7 | чужая версия | null |