2.8 KiB
2.8 KiB
Фаза 28. Тесты экранов
Зависимости
Зачем
AGENTS.md говорит: у экранов тестов нет, потому что DOM-окружение стоило бы зависимости,
которой у проекта нет. На первой фазе это было верно — экран состоял из часов. Сейчас в клиенте
несколько тысяч строк с диалогами, сеткой расписания, редактором карты и панелью управления, а
vitest уже стоит: DOM-окружение — это одна девзависимость.
Цель не «покрыть клиент», а закрыть те места, где на клиенте есть логика: сборка запроса из фильтров, разбор кода ошибки в текст, блокировки в диалоге создания.
Задачи
happy-domкак девзависимость и окружение vitest для тестов экранов- Тесты панели людей: фильтры собирают правильный запрос, пейджер не уезжает за границы
- Тесты диалога создания:
coreнельзя снять, сброс карты возвращает дефолт, кнопка блокируется на время запроса - Тесты сетки расписания: код отказа планировщика превращается в текст, а не в молчание
- Тесты панели управления: отказ по пределу фонда показывается текстом
- Политика тестирования в
AGENTS.mdпереписывается: что теперь проверяется тестом, а что по-прежнему глазами - Прогон экранов не должен заметно удлинять
npm test
Тесты, без которых фаза не закрыта
Сами тесты и есть содержание фазы; закрывают её четыре набора выше.
Критерий готовности
npm --prefix src/HSchool.Client testгоняет экраны и проходит- CI не удлинился настолько, чтобы это раздражало
- Сломать
t(...)в одном из экранов — тест краснеет
Стоп
Не тащить фреймворк ради тестов. Не проверять вёрстку и стили — только поведение.