Some checks are pending
Sprint UI-deep, пункт 1: реальный Chromium через Playwright Test.
Установлены @playwright/test 1.60.0 и otplib (для item 11).
Конфиг tests/e2e/playwright.config.ts — workers=1, traces+screenshots
on-failure, screenshot dir reports/playwright-artifacts/.
Хелперы tests/e2e/lib/ui.ts:
- apiSignup() — быстрый signup через API + login
- attachSession() — кладёт access_token в localStorage, грузит путь
- watchPage() — listener console-errors и network 4xx/5xx
- expectNoErrors() — assert после flow'a
Item 1 (5 specs, все ✓ на стейдже):
- 1.1 attach session → /dashboard, без console-ошибок
- 1.2 создание товара через UI (Empty CTA → форма → Сохранить)
- 1.3 первый контрагент через Modal
- 1.4 создать товар + контрагент через API, открыть форму приёмки,
smoke на компоненты страницы
- 1.5 OnboardingPage (/) рендерится
Найден 1 реальный баг → починен:
- ProductEditPage: race на currencies.data — если быстро Сохранить,
цена-MoneyInput добавляет строку с currencyId='' → server 400 с
криптичным JSON validation. Фикс: MoneyInput disabled пока
!currencies.data + canSave проверяет row.currencyId.
- Form error display показывал "Request failed with status code 400";
теперь использует общий humanizeError() (exporting из @/lib/api).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
25 lines
492 B
JSON
25 lines
492 B
JSON
{
|
|
"name": "food-market-e2e",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"run": "tsx runner.ts"
|
|
},
|
|
"dependencies": {
|
|
"axios": "^1.7.9",
|
|
"js-yaml": "^4.1.0",
|
|
"pg": "^8.13.1",
|
|
"playwright": "^1.60.0"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.60.0",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/node": "^20.17.10",
|
|
"@types/pg": "^8.11.10",
|
|
"otplib": "^13.4.0",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.7.2"
|
|
}
|
|
}
|