VEU.WathBody/1-docs/4-modules/m03-program-store/readme.md

33 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Модуль m03-program-store — план разработки
> План по алгоритму d-dev (`std1\_rules\d\d-dev.md`), адаптация к
> сервисному модулю; шлюзы «**Пользователь!**» — d-dev-4. Требования —
> [module_reqs.md](module_reqs.md).
| Шаг d-dev | Состав | Статус |
|---|---|---|
| 0. Персистентная подготовка | module_reqs.md, readme.md, SKILL.md | ✅ |
| 1. Список единиц к реализации | методы ProgramStore — module_reqs разд. 4 (7 методов) | ✅ |
| 1.3. Утверждение списка | — | **Пользователь!** ✅ (2026-10-18) |
| 2. Спецификации единиц | `api_specs\` модуля — 2 файла (жизненный цикл 01; чтение 02) | ✅ |
| 2.4. Утверждение спецификаций | — | **Пользователь!** ✅ (2026-10-18) |
| 3. Код и тесты | `Server.WatchBody.Core\Programs\ProgramStore.cs` + интеграционные тесты (docker `watchbody-pg`): 19 тестов, все PASS; сборка 0 ошибок | ✅ |
| 3.4. Утверждение реализации | — | **Пользователь!** ✅ (2026-10-18) |
| 4. Завершение | сборка и тесты зелёные; критерии приёмки module_reqs разд. 5 проверены | ✅ (2026-10-18: сборка 0 ошибок, тесты Web 44/44 + Core 55/55 PASS на момент закрытия; после З-35 — Core 56/56) |
Примечания:
- Разработка поштучно: методы сервиса небольшой группой (жизненный
цикл 1–4, чтение 5–7) — шлюзы 1.3/2.4 можно проходить одной группой.
- Потребители ProgramStore (подключение в следующих модулях): m05 —
создание draft `author=rules`; m06 — импорт пакета программы; m08 —
admin-API программ. Sync в m02 остаётся на репозиториях (v1).
- Интеграционные тесты Core-сервисов живут в `Server.WatchBody.Web.Tests`
(общая docker-инфраструктура: `TestApp`, подключение из конфига);
юнит-инфраструктура Core.Tests (fake-транспорт ConnectionStringTest)
для сервиса над репозиториями не подходит.
- jsonb нормализует пробелы — сравнение body в тестах через
`JsonElement.DeepEquals`.
- Прогон тестов — PostgreSQL 17 в docker `watchbody-pg` (порт 5433,
БД `watchbody`), как в m01/m02.