wasrusgen
02f8dba469
feat: expeditor cabinet, electronic signature (OTP+canvas), invoice room picker
...
New modules:
- expeditor_dashboard.js: route list (date-grouped) + act detail + signature screen
- invoice.js: 3-col chip room picker, 2500₽ base + 1000₽ extra logic
- act4.js, measurer_dashboard.js, finance_summary.js, client_timeline.js, feedback.js, staff_roster.js
Backend:
- /api/expeditor_inbox: filtered assembly list for expeditor role
- /api/act4_request_otp: 6-digit OTP via Telegram, 10-min expiry
- /api/act4_verify_otp: validates code, marks act as signed
- /api/act4_save_signature: saves base64 canvas signature
- Act4s sheet: added signature_b64, otp_code, otp_expires_at columns
Tests:
- tests/expeditor_scenarios.md: 11 manual test scenarios
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 14:11:20 +03:00
wasrusgen
6616d48c0a
test: mock-фикстура карточки клиента в smoke-тесте
...
page.route() перехватывает /api/clients и возвращает тестового клиента.
Карточка клиента теперь открывается и проверяется без реальных данных.
17 чеков, 0 пропущено.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 13:43:09 +03:00
wasrusgen
f7a1c3e4c0
test: smoke-тест на локальном сервере (npx serve), убран chicken-and-egg
...
Сервер поднимается через spawn + HTTP polling.
SMOKE_URL=... для тестирования произвольного URL.
15 чеков: +inbox, +me, +titles.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 12:30:11 +03:00
wasrusgen
864e70f39b
test: добавлены проверки #/inbox и #/me в ui_smoke.js
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 12:24:50 +03:00
wasrusgen
40e2275949
test: добавить Playwright UI smoke-тест (10 проверок JS-ошибок по экранам)
...
- tests/ui_smoke.js — headless Chromium с mock Telegram.WebApp, проверяет
загрузку, список клиентов, форму нового клиента, замеры, сборки
- package.json — playwright devDependency
- .claude/commands/test.md — добавлен Шаг 4 (UI Playwright) в агент тестировщика
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 08:53:58 +03:00
wasrusgen
c7db038659
feat(lint): WCAG-контраст в CSS-линтере + fix shipments Drive ID
...
- lint_css.py: проверка контраста по WCAG 4.5:1 для HEX-цветов,
разделение ошибок/предупреждений, проверка против всех тем
- config.py: SHIPMENTS_FILE_ID обновлён на актуальный из AI АНАЛИТИКА
ARRIVALS_FILE_ID сброшен в пустой (ID пока не найден)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 18:19:35 +03:00
wasrusgen
87b8d0f3d6
feat(ci): автоматический тестировщик — CSS-линтер + smoke API + GitHub Actions CI
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 17:59:41 +03:00