food-market/tests/food-market.IntegrationTests
nns 519e4073df
Some checks failed
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 Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
Docker API / Build + push API (push) Has been cancelled
Docker API / Deploy API on stage (push) Has been cancelled
fix(кабинет): этап «Настройка кабинета» — 15 правок (прогон 14.10)
1. Реквизиты организации: БИН/ИИН (12 цифр, проверка), юр.адрес, «Плательщик
   НДС» — в Настройках → Организация, сохраняются и отдаются в API (Organization.
   IsVatPayer + Bin/Address в OrgSettings).
2. Склад при регистрации — адрес пустой (была заглушка «Алматы, ул. Пример 1»);
   миграция чистит заглушку у существующих складов.
3. Кассы: блок скачивания кассы скрыт, пока нет ссылок на сборки (убраны
   мёртвые кнопки и технический текст про конфигурацию сервера).
4. Счета: в списке показывается валюта счёта (а не ₸ орг.); новый счёт по
   умолчанию в валюте организации (KZT), не первой в справочнике. Миграция:
   счета KZ-организаций в BYN без движений → KZT.
5. «Дата начала учёта» берётся по локальной дате (была UTC → ночью подставляла
   вчера). todayIso() переведён на локальное время.
6. Esc в выпадающем списке закрывает только список, не весь диалог (Select гасит
   всплытие + Modal закрывается лишь при !defaultPrevented).
7. Счёт-касса: подпись «Магазин (к которому относится касса)» вместо «привязана
   к точке» — список показывает склады/магазины.
8. Точка продаж: поля «Счёт для наличных» и «Счёт для оплаты картой»; автооткрытие
   смены берёт счета из точки (наличные→Cash, карта→Acquiring/Bank).
9. PIN кассира: в карточке сотрудника задать/сменить/снять PIN; в списке «PIN
   задан»; вход grant_type=pin по точке (сервер уже поддерживал).
10. «Сбросить пароль» в карточке сотрудника → новый временный пароль один раз.
11. Владелец в «Сотрудниках» — «Владелец» вместо «<название> Owner» (signup +
    миграция существующих).
12. Роли: матрица прав дополнена недостающими 6 правами (перемещения, деньги/
    смены, маркетинг) — цифра «N/38» теперь совпадает с галочками; текст без
    жаргона «CRUD».
13. Настройки: блок «Демо-данные» — только суперадмину; «Креды per-tenant» →
    человеческий текст.
15. Форма входа: сообщения «Укажите email» / «Введите пароль» (как в регистрации).
16. Суммы счетов без копеек, если в организации выключены дробные цены
    (useFormatCurrency учитывает allowFractionalPrices).

Тесты: CabinetSetupTests (реквизиты+валидация БИН, имя владельца, счета точки,
PIN+вход grant_type=pin, сброс пароля) 5/5; регрессия Plan/Markup/RegistryCopy 7/7.
Код весовых (27+5) НЕ трогал — весы на паузе. П.14 — см. отчёт (блок продажи в
минус не ставится; поведение «разрешено с предупреждением» уже соответствует).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-14 01:55:29 +05:00
..
Support fix(stock): «показать нулевые» и фильтр по группе показывают товары без прихода 2026-10-09 09:44:50 +05:00
AbcReportTests.cs feat(reports): ABC-анализ по Парето (P1-11) 2026-05-28 11:24:26 +05:00
AdvancedModeTests.cs test(s29): unit (6) + integration (7) + e2e scenario для simple-mode (шаг 7/8) 2026-10-04 12:02:44 +05:00
CabinetSetupTests.cs fix(кабинет): этап «Настройка кабинета» — 15 правок (прогон 14.10) 2026-10-14 01:55:29 +05:00
ConcurrencyTokenTests.cs feat(concurrency): RowVersion на документах через Postgres xmin (TD-6) 2026-05-28 17:33:01 +05:00
CustomerReturnTests.cs feat(returns): возврат от покупателя (CustomerReturn) (P1-6) 2026-05-28 09:51:04 +05:00
DataQualityTests.cs feat(data-quality): фоновая «Проверка данных» — бэкенд (п.1,3,4) 2026-10-09 08:11:57 +05:00
DemandPostUnpostTests.cs feat(demands): оптовая отгрузка контрагенту-юрлицу (P1-5) 2026-05-28 16:18:49 +05:00
DemoSeederIdempotencyTests.cs fix(seed): DemoTenantSeeder гардит по наличию ЛЮБЫХ товаров в орге 2026-10-06 00:50:50 +05:00
EnterPostUnpostTests.cs feat(enters): оприходование товара без поставщика (P1-1) 2026-05-28 09:18:13 +05:00
FiscalMockFlowTests.cs feat(s11): ОФД-scaffolding — IFiscalProvider + 4 провайдера + UI/тесты 2026-06-07 02:27:17 +05:00
food-market.IntegrationTests.csproj feat(realtime): SignalR hub /hubs/notifications per-org + dashboard live 2026-05-31 19:29:59 +05:00
HangfireAccessTests.cs feat(s13): security headers + rate-limits + sensitive-ops audit + session revoke + Grafana 2026-06-07 12:30:10 +05:00
HangfireDashboardTests.cs feat(hangfire): dashboard + scheduled cleanup джобы (P1-16) 2026-05-28 10:07:14 +05:00
ImportJobPersistenceTests.cs feat(import-jobs): persisted ImportJobRegistry в БД (TD-5) 2026-05-28 16:45:08 +05:00
InventoryPostUnpostTests.cs test(inventory): обновлены устаревшие ассерты (ActualQty=BookQty, no-diff post = no-op) 2026-10-09 01:27:14 +05:00
InvoiceApplySklad0610Tests.cs feat(invoices+catalog): порт улучшений 06.10.2026 из sklad 2026-10-07 19:50:03 +05:00
InvoicePipelineTests.cs test(s31): unit 20/20 + integration 2/2 для invoice pipeline (7/8) 2026-10-04 21:46:10 +05:00
InvoiceUploadHttpTests.cs fix(hotfix): invoice500 + фоновые 403 на reload + regression e2e 2026-10-05 00:21:41 +05:00
LossPostUnpostTests.cs feat(losses): списание со склада с указанием причины (P1-2) 2026-05-28 09:24:40 +05:00
LoyaltyFlowTests.cs feat(loyalty+promotions): P2-12 + P2-13 — лояльность и промокоды (Sprint 9 п.1-2) 2026-05-31 21:06:10 +05:00
MarkupToggleTests.cs feat(supplies): автонаценка при приёмке — только по переключателю магазина 2026-10-12 20:07:31 +05:00
MetricsEndpointTests.cs feat(observability): Prometheus метрики /metrics + бизнес-счётчики (P1-17) 2026-05-28 12:20:01 +05:00
MobileApiTests.cs fix(barcode): весовой разбор выкл по умолчанию; поиск по ШК — точное совпадение 2026-10-09 11:02:43 +05:00
MoneyModuleTests.cs feat(money): автооткрытие смены первой продажей + Z-отчёт по товарам + 24ч 2026-10-09 05:58:31 +05:00
NegativeStockTests.cs fix(inventory): записывать автора движения (CauseUserId) для всех документов 2026-10-09 09:52:33 +05:00
OrgAuditLogTests.cs feat(audit): per-tenant журнал мутаций OrgAuditLog (P1-18) 2026-05-28 16:26:36 +05:00
PermissionTests.cs feat(pos): регистрация устройства на точке продаж + привязка кассира 2026-10-08 09:24:51 +05:00
PinLoginTests.cs feat(pos): быстрый вход кассира по PIN (grant_type=pin) + lockout 2026-10-08 09:38:36 +05:00
PlanSignupTests.cs fix(регистрация): 7 правок этапа «Регистрация» (прогон 12.10) 2026-10-12 21:46:15 +05:00
PosSyncTests.cs feat(money): автооткрытие смены на POS-синке + уведомление о сменах >24ч (п.1) 2026-10-09 07:11:29 +05:00
ProductCardParityTests.cs feat(catalog): карточка товара как МойСклад+ — обязательно только наименование 2026-10-09 05:45:38 +05:00
ProfitReportTests.cs feat(reports): отчёт «Прибыль» (выручка − COGS) (P1-10) 2026-05-28 11:19:19 +05:00
PromotionFlowTests.cs feat(loyalty+promotions): P2-12 + P2-13 — лояльность и промокоды (Sprint 9 п.1-2) 2026-05-31 21:06:10 +05:00
PruneQualityTestOrgsTests.cs docs(s28): api-reference 195→240 + observability + integration #7 + CI 2026-06-09 03:26:39 +05:00
QuickLoginTests.cs feat(s30): sentinel pwd для SPA — реальный мастер-пароль только в server-env 2026-10-04 21:02:36 +05:00
RegistryCopyPrimaryBarcodeTests.cs fix(регистрация): 7 правок этапа «Регистрация» (прогон 12.10) 2026-10-12 21:46:15 +05:00
RetailOversellingTests.cs test(sales): привести oversell-тест к политике «продажа в минус разрешена» 2026-10-09 10:01:56 +05:00
RetailReturnParityTests.cs feat(sales): возврат — способ по умолчанию = оплата чека; иной способ по праву+причине 2026-10-09 05:50:41 +05:00
SalesReportTests.cs feat(reports): отчёт «Продажи» с группировками и экспортом (P1-8) 2026-05-28 11:09:52 +05:00
SessionRevokeTests.cs feat(s13): security headers + rate-limits + sensitive-ops audit + session revoke + Grafana 2026-06-07 12:30:10 +05:00
SignalRNotificationsTests.cs feat(realtime): SignalR hub /hubs/notifications per-org + dashboard live 2026-05-31 19:29:59 +05:00
SignupFlowTests.cs test(integration): Testcontainers.PostgreSql + WebApplicationFactory, 10 тестов (P1-21) 2026-05-27 03:14:01 +05:00
Sprint18To23FeaturesTests.cs docs(s24): docs cross-check + auto-gen + onboarding + test gap-fill (8/8 ✓) 2026-06-08 02:15:56 +05:00
StockReportTests.cs feat(reports): отчёт «Остатки на дату» с реконструкцией (P1-9) 2026-05-28 11:14:24 +05:00
StockStateFilterTests.cs feat(stock): фильтры остатков «В наличии / Нулевые / В минусе» (states, объединение ИЛИ) 2026-10-11 18:29:31 +05:00
StorageAbstractionTests.cs feat(storage): IObjectStorage abstraction (Local + MinIO) — P2-15 2026-05-31 20:17:10 +05:00
SupplierReconciliationTests.cs feat(money): акт сверки с поставщиком — печать/PDF (п.7) 2026-10-09 06:39:08 +05:00
SupplierReturnFromSupplyTests.cs feat(documents): единый блок «Связанные документы» на всех документах (п.5) 2026-10-09 07:06:07 +05:00
SupplierReturnTests.cs feat(supplier-returns): возврат поставщику (P1-7) 2026-05-28 09:58:29 +05:00
SupplyPostUnpostTests.cs test(integration): Testcontainers.PostgreSql + WebApplicationFactory, 10 тестов (P1-21) 2026-05-27 03:14:01 +05:00
SupplyPricingSchemeTests.cs feat(registry+pricing): «Реестр товаров» + схема цен (закупочная/себестоимость/продажная) 2026-10-12 19:19:47 +05:00
TelegramOwnerSummaryTests.cs feat(telegram): OwnerDailySummaryJob + bot binding (P2-14) 2026-05-31 19:50:33 +05:00
TenantIsolationTests.cs test(integration): Testcontainers.PostgreSql + WebApplicationFactory, 10 тестов (P1-21) 2026-05-27 03:14:01 +05:00
TransferPostUnpostTests.cs feat(transfers): атомарное перемещение между складами (P1-3) 2026-05-28 09:32:32 +05:00
TwoFactorTests.cs feat(auth): TOTP 2FA для админов через AuthenticatorTokenProvider (P2-4) 2026-05-28 17:57:32 +05:00