From f936cd26c210e86e0550032234ea086c4439554a Mon Sep 17 00:00:00 2001 From: nns Date: Thu, 28 May 2026 17:42:54 +0500 Subject: [PATCH] docs(sprint6): TD-2 done --- docs/sprint6-progress.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/sprint6-progress.md b/docs/sprint6-progress.md index d6b283c..9a2a793 100644 --- a/docs/sprint6-progress.md +++ b/docs/sprint6-progress.md @@ -16,9 +16,13 @@ unit + integration тесты, коммит порцией, отметка `[x]` SuppliesController PUT принимает `Xmin`, сверяет, 409 при mismatch. Bonus: Supply.Update перешёл на ExecuteDelete+AddRange (тот же fix что в RetailSale). 2 интеграционных теста. -2. [ ] **TD-2 FluentValidation** — `FluentValidation.AspNetCore`, validator'ы +2. [x] **TD-2 FluentValidation** — `FluentValidation.AspNetCore`, validator'ы для SupplyInputDto/RetailSaleInputDto/ProductInputDto/CounterpartyInputDto/ EmployeeInputDto. Auto-register. Тесты на каждый. + ✅ Не используем deprecated `FluentValidation.AspNetCore` — текущая + рекомендация: `AddValidatorsFromAssemblyContaining()` + кастомный + `ValidationFilter` (IAsyncActionFilter). На неуспех → 400 ValidationProblemDetails. + 5 validator'ов, 16 unit-тестов, 70 integration зелёных без регрессий. 3. [ ] **TD-4 Структурные log-fields в Serilog** — `LogContext.PushProperty` в middleware: OrgId, UserId, CorrelationId. Бизнес-логи (Supply.Post, Sale.Post) — структурно. `docs/logging.md`.