food-market/tests/e2e/scenarios
nns 7f8750f30f
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
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 API / Build + push API (push) Waiting to run
Docker API / Deploy API on stage (push) Blocked by required conditions
Docker Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
test(s29): unit (6) + integration (7) + e2e scenario для simple-mode (шаг 7/8)
Unit — AdvancedModeFilterTests (6/6, ~3с):
- allow when IsAdvancedMode=true
- 403 ProblemDetails с code=advanced-mode-required when simple
- SuperAdmin bypass
- InvalidateCache делает следующее чтение свежим
- unauthenticated — не трогаем ([Authorize] выше)
- authenticated без org — fail-closed 403

Integration — AdvancedModeTests (7/7, ~25с):
- /api/me.advancedMode=false по умолчанию
- GET на скрытый endpoint в простом режиме → 403 ProblemDetails
- org-admin не может переключить → 403
- SuperAdmin переключает → 200 + audit; идемпотент: повторный → changed=false
- /api/me обновилось, demand открылся
- данные пресета сохраняются через on→off→on
- архивную org переключать нельзя → 409

Доп. фикс: ApiFactory теперь прокидывает ConnectionStrings__Default через
Environment.SetEnvironmentVariable в InitializeAsync. ConfigureAppConfiguration
опаздывает к моменту чтения строки в Program.cs:86 (var poolTunedConnString=...)
— интеграционные тесты падали с «Connection refused к 127.0.0.1:5432». env-var
читает CreateBuilder сразу, строка подключения теперь корректно берётся из
Testcontainers. Это общий фикс для всей сюиты.

E2E — tests/e2e/scenarios/stage-simple-mode.{yml,steps.ts} (7 шагов):
sm01 signup→simple default; sm02 org-admin forbidden; sm03 SuperAdmin
toggle + audit; sm04 /api/me reflects + endpoint opens; sm05 data
survives toggle cycle; sm06 archived→409; sm07 Playwright UI показывает
страницу «Недоступно в простом режиме».

Quality-watchdog: GET /api/catalog/price-types не гейтится (только
мутации) — патч смока не требуется.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-10-04 12:02:44 +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-simple-mode.steps.ts test(s29): unit (6) + integration (7) + e2e scenario для simple-mode (шаг 7/8) 2026-10-04 12:02:44 +05:00
stage-simple-mode.yml test(s29): unit (6) + integration (7) + e2e scenario для simple-mode (шаг 7/8) 2026-10-04 12:02:44 +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-15-a11y-axe.spec.ts test(s15): axe a11y + focus traps + unit coverage 80% + property tests + backup drill 2026-06-07 14:53:38 +05:00
stage-ui-16-sr-smoke.spec.ts test(s15): axe a11y + focus traps + unit coverage 80% + property tests + backup drill 2026-06-07 14:53:38 +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-s9-pwa.spec.ts fix(pwa): bump cache version + filter SignalR-race errors in PWA test 2026-05-31 21:33:02 +05:00
stage-ui-s10-dark-audit.spec.ts feat(s10-4): dark mode полировка + Cmd+K палитра + аудит-spec 2026-06-06 01:30:41 +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
stage-ui-verify-csv-import.spec.ts test(verify-sprint): итог 78/78 stage-ui specs + V-13/14/15 verify specs + smtp4dev manual check 2026-06-04 22:25:41 +05:00
stage-ui-verify-pos-sync.spec.ts fix(stage-tests): IP-limit 60/min, locale ru-RU в playwright, исправлены payload'ы verify-spec'ов 2026-06-04 17:38:36 +05:00
stage-ui-verify-stock-race.spec.ts fix(stage-tests): IP-limit 60/min, locale ru-RU в playwright, исправлены payload'ы verify-spec'ов 2026-06-04 17:38:36 +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