docs(sprint1): P1-20 done

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
nns 2026-05-27 03:02:06 +05:00
parent f3d517f257
commit e988a7dbbc

View file

@ -45,9 +45,12 @@
`OpenIddict__Issuer`/`CertPassword` в compose. `compose config` валиден.
7. [x] **P0-9**`docs/release-checklist.md`.
✅ Пред/во время/после выкатки + откат + прод; ссылки на secrets/backup/openiddict/stage-setup.
8. [ ] **P1-20 Unit-тесты**`tests/food-market.UnitTests`: `StockService.ApplyMovement`,
8. [x] **P1-20 Unit-тесты**`tests/food-market.UnitTests`: `StockService.ApplyMovement`,
расчёт Cost в `SuppliesController.Post`, валидация платежа `RetailSalesController.Post`,
multi-tenant query filter.
✅ 23 теста зелёные. Чистая логика вынесена в Application (`MovingAverageCost`,
`RetailPaymentValidator`) и используется контроллерами. StockService + query-filter на
SQLite in-memory (EF8 поддерживает `ToJson`). `FakeTenantContext`, `SqliteDb` helper.
9. [ ] **P1-21 Integration-тесты** — Testcontainers.PostgreSql + WebApplicationFactory:
signup-flow, supply post→unpost, retail overselling, tenant isolation A vs B, permission-проверки.