Files
portal/docs/superpowers/specs/2026-06-18-g8-frontend-test-runner-broken.md
T

3.2 KiB
Raw Blame History

Находка G8 — фронтовый тест-раннер не запускается в локальном окружении

Дата: 18.06.2026. Обнаружено при попытке проверить правку G4 (убрать push).

Симптом

Любой фронтовый тест (tests/Frontend/*.spec.ts) падает на стадии сборки набора («0 test»), ещё до выполнения проверок. Команда — родная команда проекта npm run test:vue (= vitest run) из папки app.

Наблюдалось на двух разных файлах:

  • NotificationsTab.spec.tsTypeError: Cannot read properties of undefined (reading 'config') (строка с describe).
  • AdminBillingViewActions.spec.ts (заведомо рабочий, харнес чинили в коммите 23f81bda) → Error: Vitest failed to find the runner.

Оба — на этапе collection, «Test Files 1 failed», «Tests no tests». jsdom грузится, transform проходит — ошибка в рантайме при загрузке модуля теста.

Что это значит

Весь фронтовый набор автотестов сейчас не запускается в этом dev-окружении. Это инфраструктурная поломка тест-раннера, не зависящая от конкретного теста или правки G4 (доказано: падает и заведомо рабочий файл).

Вероятные причины (не подтверждены — нужен отдельный разбор)

  • Рассинхрон свежих версий: vite ^8, vitest ^4.1.5, @vitejs/plugin-vue ^6, vite-plugin-vuetify ^2.1.3 (бета/мажоры).
  • Возможное задвоение vitest в дереве зависимостей («failed to find the runner» — классический симптом нескольких копий vitest или несовпадения vitest@vitest/*).
  • Кириллический путь репозитория (…/моя/проекты/портал crm/Документация) — известный класс проблем тулинга на этой машине (ср. CLAUDE.md §7 про boost-wizard). Возможно, CI (ASCII-путь) зелёный, а локально — нет.

NB: tools-тесты (vitest.config.tools.mjs, node-окружение) запускаются нормально — проблема именно во фронтовом конфиге (jsdom + vue/vuetify-плагины).

Влияние

Пока G8 не починен — ни одну фронтовую правку (включая G4 и будущие находки) нельзя проверить автотестом в этом окружении. Проверка возможна только: type-check (если работает), визуально в браузере, или в CI (если там путь ASCII и версии иные).

Статус

Открыта. Требует отдельного разбора (диагностика версий/пути), вне объёма G4.