docs(sprint6): TD-2 done

This commit is contained in:
nns 2026-05-28 17:42:54 +05:00
parent eacf7e5cc8
commit f936cd26c2

View file

@ -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<Program>()` + кастомный
`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`.