food-market/tests/e2e/scenarios
nns 76a175f491
Some checks are pending
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
feat(pwa+mobile+s9): PWA owner read-only + mobile tweaks + S9 stage specs
Sprint 9 пункт 3 (mobile-адаптация):
- DataTable: min-w-max sm:min-w-[640px] → узкие таблицы (Loyalty, Promotions)
  влезают на 375px без horizontal-scroll, широкие (Products) скроллятся
  внутри overflow-auto родителя.
- Mobile-audit спека (stage-ui-s9-mobile-audit) — 20 screenshot'ов в
  reports/mobile/ (375 + 768 viewport × 10 страниц + seed-demo).
  Smoke: no console-errors, layouts читаемы.

Sprint 9 пункт 4 (P2-9 PWA):
- public/manifest.webmanifest — read-only PWA владельца. Shortcuts:
  Дашборд, Sales/Profit/Stock отчёты. display=standalone (homescreen icon).
- public/sw.js — service worker:
  • SPA navigate: network-first + offline-fallback на /offline.html.
  • GET /api/*: network-first + cache-fallback (read-only кеш).
  • CSS/JS/SVG: stale-while-revalidate.
  • Мутации (POST/PUT/DELETE): не вмешиваемся, сеть.
- public/offline.html — статический fallback с кнопкой «Открыть дашборд».
- index.html: <link rel='manifest'>, apple-touch-meta, lang=ru-KZ.
- main.tsx: navigator.serviceWorker.register('/sw.js') в production only
  (dev hot-reload не мешает).
- deploy/nginx.conf: /sw.js no-cache, /manifest.webmanifest правильный
  content-type, /offline.html static.

Stage e2e:
- stage-ui-s9-loyalty.spec (4/4 ✓): programs/cards/promotions endpoints
  + UI рендер + SALE20 на 500₸ → total=400 (валидно через API).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 21:22:30 +05:00
..
auth-edge.steps.ts test(e2e): scenarios auth-edge, catalog-edge, stock-invariant-deep 2026-05-26 11:03:47 +05:00
auth-edge.yml test(e2e): scenarios auth-edge, catalog-edge, stock-invariant-deep 2026-05-26 11:03:47 +05:00
auth-password.steps.ts test(e2e): scenarios platform-smtp + auth-password 2026-05-26 11:56:29 +05:00
auth-password.yml test(e2e): scenarios platform-smtp + auth-password 2026-05-26 11:56:29 +05:00
catalog-edge.steps.ts test(e2e): scenarios auth-edge, catalog-edge, stock-invariant-deep 2026-05-26 11:03:47 +05:00
catalog-edge.yml test(e2e): scenarios auth-edge, catalog-edge, stock-invariant-deep 2026-05-26 11:03:47 +05:00
documents-edge.steps.ts test(e2e): scenario documents-edge — критичные edge-кейсы посту 2026-05-23 12:33:51 +05:00
documents-edge.yml test(e2e): scenario documents-edge — критичные edge-кейсы посту 2026-05-23 12:33:51 +05:00
employees.steps.ts test(e2e): scenario employees — CRUD, увольнение гасит логин, tenant-изоляция 2026-05-26 11:47:57 +05:00
employees.yml test(e2e): scenario employees — CRUD, увольнение гасит логин, tenant-изоляция 2026-05-26 11:47:57 +05:00
full-cycle.steps.ts test(e2e): починка контрактов supply/sale + EAN-13 + bug-hunt + full-pass отчёт 2026-05-08 11:01:56 +05:00
full-cycle.yml feat(e2e): infrastructure + first full-cycle scenario + baseline report 2026-05-08 00:05:52 +05:00
moysklad-import.steps.ts test(e2e): scenario moysklad-import + mock-сервер MoySklad 2026-05-26 11:27:16 +05:00
moysklad-import.yml test(e2e): scenario moysklad-import + mock-сервер MoySklad 2026-05-26 11:27:16 +05:00
multi-tenant-isolation.steps.ts test(e2e): scenario multi-tenant-isolation — 12 шагов проверки изоляции 2026-05-23 12:25:05 +05:00
multi-tenant-isolation.yml test(e2e): scenario multi-tenant-isolation — 12 шагов проверки изоляции 2026-05-23 12:25:05 +05:00
platform-smtp.steps.ts test(e2e): scenarios platform-smtp + auth-password 2026-05-26 11:56:29 +05:00
platform-smtp.yml test(e2e): scenarios platform-smtp + auth-password 2026-05-26 11:56:29 +05:00
reports-stats.steps.ts test(e2e): scenario reports-stats — дашбордная выручка + tenant-изоляция 2026-05-26 11:18:54 +05:00
reports-stats.yml test(e2e): scenario reports-stats — дашбордная выручка + tenant-изоляция 2026-05-26 11:18:54 +05:00
roles.steps.ts test(e2e): roles step08 проверяет permission-enforcement + rate-limit конфигурируем 2026-05-27 02:41:52 +05:00
roles.yml test(e2e): roles step08 проверяет permission-enforcement + rate-limit конфигурируем 2026-05-27 02:41:52 +05:00
security-edge.steps.ts test(e2e): scenario security-edge — auth-гейт, traversal, SQLi, tenant, CORS 2026-05-26 11:58:54 +05:00
security-edge.yml test(e2e): scenario security-edge — auth-гейт, traversal, SQLi, tenant, CORS 2026-05-26 11:58:54 +05:00
stage-2fa.steps.ts test(stage): пункт 12 — 2FA TOTP 6/6 ✓ (enroll+verify+login flow+disable) 2026-05-29 17:41:22 +05:00
stage-2fa.yml test(stage): пункт 12 — 2FA TOTP 6/6 ✓ (enroll+verify+login flow+disable) 2026-05-29 17:41:22 +05:00
stage-audit-log.steps.ts test(stage): пункт 11 — OrgAuditLog 7/7 ✓ + UTC fix 2026-05-29 17:39:54 +05:00
stage-audit-log.yml test(stage): пункт 11 — OrgAuditLog 7/7 ✓ + UTC fix 2026-05-29 17:39:54 +05:00
stage-catalog.steps.ts fix(catalog): EF8 nav-collection bug в Products.Update + unique IX на Article 2026-05-29 16:46:10 +05:00
stage-catalog.yml fix(catalog): EF8 nav-collection bug в Products.Update + unique IX на Article 2026-05-29 16:46:10 +05:00
stage-customer-return.steps.ts test(stage): пункт 7 — CustomerReturn 6/6 ✓ (создание из чека+walk-in+overreturn+multi-tenant) 2026-05-29 17:10:08 +05:00
stage-customer-return.yml test(stage): пункт 7 — CustomerReturn 6/6 ✓ (создание из чека+walk-in+overreturn+multi-tenant) 2026-05-29 17:10:08 +05:00
stage-demand.steps.ts test(stage): пункт 9 — Demand 8/8 ✓ (Cash + Credit + post + multi-tenant) 2026-05-29 17:23:03 +05:00
stage-demand.yml test(stage): пункт 9 — Demand 8/8 ✓ (Cash + Credit + post + multi-tenant) 2026-05-29 17:23:03 +05:00
stage-demo-seed.steps.ts feat(stage): demo-data seeder для test.admin.food-market.kz 2026-05-30 10:17:49 +05:00
stage-demo-seed.yml feat(stage): demo-data seeder для test.admin.food-market.kz 2026-05-30 10:17:49 +05:00
stage-enter.steps.ts fix(docs): EF8 nav-collection bug в Enters/Losses/Transfers/SupplierReturns/Inventories.Update 2026-05-29 16:57:48 +05:00
stage-enter.yml fix(docs): EF8 nav-collection bug в Enters/Losses/Transfers/SupplierReturns/Inventories.Update 2026-05-29 16:57:48 +05:00
stage-inventory.steps.ts test(stage): пункт 6 — Inventory 8/8 ✓ + logic gap по CSV-импорту 2026-05-29 17:05:28 +05:00
stage-inventory.yml test(stage): пункт 6 — Inventory 8/8 ✓ + logic gap по CSV-импорту 2026-05-29 17:05:28 +05:00
stage-loss.steps.ts test(stage): пункт 4 — Loss 8/8 ✓ (CRUD+Post+Unpost+multi-tenant) 2026-05-29 16:59:56 +05:00
stage-loss.yml test(stage): пункт 4 — Loss 8/8 ✓ (CRUD+Post+Unpost+multi-tenant) 2026-05-29 16:59:56 +05:00
stage-pos.steps.ts test(stage): пункт 14 — POS Sync API 7/7 ✓ (sync + sales с idempotency) 2026-05-29 17:53:08 +05:00
stage-pos.yml test(stage): пункт 14 — POS Sync API 7/7 ✓ (sync + sales с idempotency) 2026-05-29 17:53:08 +05:00
stage-reports.steps.ts fix(reports): 3 фикса по итогам stage-тестирования 2026-05-29 17:35:31 +05:00
stage-reports.yml fix(reports): 3 фикса по итогам stage-тестирования 2026-05-29 17:35:31 +05:00
stage-smoke.steps.ts test(stage): smoke + signup на test.admin.food-market.kz 2026-05-29 16:29:04 +05:00
stage-smoke.yml test(stage): smoke + signup на test.admin.food-market.kz 2026-05-29 16:29:04 +05:00
stage-supplier-return.steps.ts test(stage): пункт 8 — SupplierReturn 8/8 ✓ (CRUD+Post+Unpost+ref validation+multi-tenant) 2026-05-29 17:21:30 +05:00
stage-supplier-return.yml test(stage): пункт 8 — SupplierReturn 8/8 ✓ (CRUD+Post+Unpost+ref validation+multi-tenant) 2026-05-29 17:21:30 +05:00
stage-swagger.steps.ts fix(swagger): operationId + schemaId — генерация OpenAPI работает 2026-05-29 17:51:23 +05:00
stage-swagger.yml fix(swagger): operationId + schemaId — генерация OpenAPI работает 2026-05-29 17:51:23 +05:00
stage-transfer.steps.ts test(stage): пункт 5 — Transfer 7/7 ✓ (CRUD+atomic post+unpost+multi-tenant) 2026-05-29 17:01:48 +05:00
stage-transfer.yml test(stage): пункт 5 — Transfer 7/7 ✓ (CRUD+atomic post+unpost+multi-tenant) 2026-05-29 17:01:48 +05:00
stage-ui-1-signup-flow.spec.ts test(ui-deep): setup + Item 1 — signup flow (5 specs) 2026-05-30 12:33:10 +05:00
stage-ui-2-nav.spec.ts test(ui-deep): items 2-3 — navigation + Products CRUD 2026-05-30 12:52:10 +05:00
stage-ui-3-products-crud.spec.ts test(ui-deep): items 2-3 — navigation + Products CRUD 2026-05-30 12:52:10 +05:00
stage-ui-4-references-crud.spec.ts test(ui-deep): items 4-5 specs + docs 2026-05-30 13:11:47 +05:00
stage-ui-5-employees-roles.spec.ts test(ui-deep): items 4-5 specs + docs 2026-05-30 13:11:47 +05:00
stage-ui-6-supply.spec.ts test(ui-deep): items 6-9 — Supply/RetailSale/InventoryDocs/Reports 2026-05-30 13:37:01 +05:00
stage-ui-7-retail-sale.spec.ts test(ui-deep): items 6-9 — Supply/RetailSale/InventoryDocs/Reports 2026-05-30 13:37:01 +05:00
stage-ui-8-inventory-docs.spec.ts test(ui-deep): items 6-9 — Supply/RetailSale/InventoryDocs/Reports 2026-05-30 13:37:01 +05:00
stage-ui-9-reports.spec.ts test(ui-deep): items 6-9 — Supply/RetailSale/InventoryDocs/Reports 2026-05-30 13:37:01 +05:00
stage-ui-10-audit-log.spec.ts test(ui-deep): items 10-14 — все 59/59 ✓ на стейдже 2026-05-30 13:53:57 +05:00
stage-ui-11-2fa.spec.ts test(ui-deep): items 10-14 — все 59/59 ✓ на стейдже 2026-05-30 13:53:57 +05:00
stage-ui-12-login-edge.spec.ts test(ui-deep): items 10-14 — все 59/59 ✓ на стейдже 2026-05-30 13:53:57 +05:00
stage-ui-13-multitenant.spec.ts test(ui-deep): items 10-14 — все 59/59 ✓ на стейдже 2026-05-30 13:53:57 +05:00
stage-ui-14-mobile.spec.ts test(ui-deep): items 10-14 — все 59/59 ✓ на стейдже 2026-05-30 13:53:57 +05:00
stage-ui-i18n.spec.ts test(s8-3): i18n stage e2e 2026-05-31 20:09:40 +05:00
stage-ui-minio.spec.ts test(s8-4): MinIO stage e2e + final progress 2026-05-31 20:25:19 +05:00
stage-ui-s9-loyalty.spec.ts feat(pwa+mobile+s9): PWA owner read-only + mobile tweaks + S9 stage specs 2026-05-31 21:22:30 +05:00
stage-ui-s9-mobile-audit.spec.ts feat(pwa+mobile+s9): PWA owner read-only + mobile tweaks + S9 stage specs 2026-05-31 21:22:30 +05:00
stage-ui-signalr.spec.ts test(s8-4): MinIO stage e2e + final progress 2026-05-31 20:25:19 +05:00
stage-ui-telegram.spec.ts test(s8-2): telegram stage e2e 2026-05-31 19:57:03 +05:00
stock-concurrency.steps.ts test(e2e): scenario stock-concurrency — конкурентное проведение приёмок 2026-05-26 11:16:11 +05:00
stock-concurrency.yml test(e2e): scenario stock-concurrency — конкурентное проведение приёмок 2026-05-26 11:16:11 +05:00
stock-invariant-deep.steps.ts test(e2e): scenarios auth-edge, catalog-edge, stock-invariant-deep 2026-05-26 11:03:47 +05:00
stock-invariant-deep.yml test(e2e): scenarios auth-edge, catalog-edge, stock-invariant-deep 2026-05-26 11:03:47 +05:00
superadmin-console.steps.ts test(e2e): scenario superadmin-console — архив/восстановление/владелец/удаление 2026-05-26 11:53:32 +05:00
superadmin-console.yml test(e2e): scenario superadmin-console — архив/восстановление/владелец/удаление 2026-05-26 11:53:32 +05:00