feat: журнал тестирования, бэклог идей; V.2 hasAnyAttemptForTest + unit tests; ссылки в спринтах

Made-with: Cursor
This commit is contained in:
Константин Лебединский
2026-04-24 19:26:02 +05:00
parent 4eeb3fbc62
commit e87168d3a0
9 changed files with 247 additions and 4 deletions
+68
View File
@@ -0,0 +1,68 @@
# Единый журнал проверок по спринтам
**Для кого этот документ.** Часть проверок делается на стороне разработки (миграции, автотесты, что можно прогнать без браузера). Часть — **с участием заказчика**: ниже даны **пошаговые задания**; вы отвечаете в переписке одним словом **ОК** или **не ОК** (и при желании коротко, что не так). Разработка переносит ответ в таблицу в колонку «Закреплено».
**Ветка / коммит последней привязки:** `dev` (обновлять при релизе на проверку)
**Адрес стенда (когда появится):** *(заполнить)*
---
## Спринт 1 — Версии тестов и честная история прогонов
**Смысл для бизнеса.** Если руководитель поправил тест после того, как кто-то уже прошёл его, **старые результаты** должны оставаться привязаны к **той редакции**, по которой человек реально отвечал — без путаницы в разборе ошибок.
### Раздел A — Проверки без участия заказчика (разработка / ассистент)
| № | Что проверено | Статус | Дата |
|---|----------------|--------|------|
| A1 | В проекте есть миграция базы: связь версий «родитель» (`parent_id`) и правило «только одна активная версия на тест» | [ ] | |
| A2 | Линтер (`npm run lint`) без **новых** ошибок в добавленных файлах; в проекте есть старые замечания линтера | частично | 2026-04-24 |
| A3 | Автотесты: функция «есть ли уже хотя бы одна попытка по этому тесту» (`npm test`) | [x] готово | 2026-04-23 |
| A4 | Запрос «здоров ли сервер» по адресу `/api/health` при запущенном backend | [ ] | |
**Техническая заметка:** реализация `hasAnyAttemptForTest` в `backend/src/services/testChainService.js`, тесты в `testChainService.test.js`.
---
### Раздел B — Поручения заказчику (шаги с ответом ОК / не ОК)
**Как отвечать.** Пройдите шаг. Напишите в чат, например: «S1-01 ОК» или «S1-01 не ОК: не открывается список». Одна строка на шаг.
| Код шага | Что сделать (пока экраны в разработке — шаги будут дополняться) | Ваш ответ | Зафиксировано |
|----------|------------------------------------------------------------------|-----------|----------------|
| S1-00 | Открыть файл **идей** [BACKLOG_IDEAS.md](BACKLOG_IDEAS.md). Подходит ли формат (таблица, без кода)? Напишите **S1-00 ОК** или **не ОК** и одну фразу. | | |
| S1-01 | *(позже)* Создать тест и несколько раз сохранить **до** того, как кто-то прошёл тест; убедиться, что номер версии не растёт. Пока экрана нет — напишите «пропуск» или «не ОК: нет экрана». | | |
| S1-02 | *(позже)* После прохождения теста сотрудником изменить тест и сохранить; увидеть **новую** версию в истории. | | |
| S1-03 | *(позже)* Открыть **старый** результат прохождения и убедиться, что вопросы совпадают с той редакцией, что была при прохождении. | | |
**Итог спринта 1:** дата __________ комментарий заказчика одной фразой: _________________________
---
## Спринт 2 — *(заготовка)*
### Раздел A — автопроверки
| № | Описание | Статус | Дата |
|---|----------|--------|------|
| | | [ ] | |
### Раздел B — поручения заказчику
| Код | Действие | Ответ | Зафиксировано |
|-----|----------|-------|----------------|
| | | | |
---
## Сводка по спринтам (для статус-встречи)
| Спринт | Тема простыми словами | Раздел A | Раздел B |
|--------|------------------------|----------|----------|
| 1 | Версии, история прогонов | в работе | ждёт шагов |
| 2 | *(по мере появления)* | | |
---
*Связанные файлы: [sprint-01-testing.md](sprint-01-testing.md) (черновик чек-листа), [card1.md](card1.md) (задачи).*