mirror of
https://github.com/kamask-dev/pchelpmaster.git
synced 2026-11-11 13:59:38 +00:00
2.0 KiB
2.0 KiB
Тесты конфигов (ESLint, dev-прокси, Playwright)
Проверки конфигурации, поломка которой иначе остаётся незамеченной. Общие правила — в testing.md.
pnpm test:lint = tsc -p tsconfig.tests.json && vitest run --config vitest.lint.config.mts: чистый Vitest в Node, файлы tests/lint/**/*.spec.ts.
- Проверяют, что ESLint держит границы, от которых зависит изоляция данных при SSR:
new PocketBase(и импорт классаPocketBase(в том числе под другим именем и черезpocketbase/*) только в фабрикеshared/pocketbase/pocketbase-client.ts(и в тестовых хелперахtests/), импортpocketbaseиpocketbase/*запрещён вdomain/иui/. tests/lint/pb-dev-proxy.spec.tsпроверяетproxy.conf.mjs(dev-проксиng serve): правило/pb/,targetизPB_URLс тем же значением по умолчанию, что у серверного провайдера (в том числе при пустой переменной), и срезание префикса/pb.- Способ ESLint-тестов:
ESLint#lintText(code, { filePath })на коротких фрагментах кода, проверяетсяruleIdсообщений. Конфиг ESLint ломается молча (опечатка в glob, слишком широкое исключение), иpnpm lintпри этом остаётся зелёным; тест это ловит. - Запускаются первым шагом в
pnpm test,pnpm test:api,pnpm test:integrationиpnpm e2e, чтобы поломка правила обнаружилась при любом прогоне. ESLint — Node-библиотека, в бандл builder'а Angular её не подключить, поэтому это отдельный набор.