Seed Test Fixtures
Воспроизводимый набор тестовых данных catalog + warehouse для главной
тестовой франшизы. Применяется командой /seed-test (см. skill) или
вручную через bash erp-infrastructure/seed/run-seed.sh.
Зачем
Раньше тестовое наполнение собиралось руками через UI — результат непредсказуем, при сбросе тестовой БД терялись все наработки. С seed:
- Воспроизводимо. Каждый прогон даёт идентичное состояние.
- Cross-service consistency. Catalog и Warehouse наполняются с одинаковыми UUID — техкарты привязываются к товарам без FK.
- Reset-on-demand. При засорении тестовой БД достаточно одной команды чтобы откатиться к baseline.
Состав (что появится после прогона)
Кухонные станции (3)
| Имя | Default | yellow / red threshold |
|---|---|---|
| Горячий цех | ✅ | 5 / 0 мин |
| Бар | — | 3 / 0 мин |
| Холодный цех | — | 5 / 0 мин |
Категории (8, с вложенностью)
Холодильник
├── Вода
└── Газировка
Кухня
├── Бургеры
└── Пиццы
Кофе
Снэки
Products (6)
| Имя | Тип | Категория | Кухня | Цена | Модификаторы |
|---|---|---|---|---|---|
| Бургер классический | dish | Бургеры | Горячий цех | 450 ₽ | Прожарка (structural), Соус (free) |
| Пицца Пепперони | dish | Пиццы | Горячий цех | 650 ₽ | Размер (structural), Доп. ингр (free) |
| Латте | dish | Кофе | Бар | 250 ₽ | Объём (structural) |
| Вода Аква Минерале 0.5 л | good | Вода | — | 80 ₽ | — |
| Сок Добрый яблочный 0.3 л | good | Вода | — | 120 ₽ | — |
| Чипсы Lays Сметана и зелень 81 г | good | Снэки | — | 150 ₽ | — |
Modifier groups + опции (5 + 11)
| Группа | Тип | Опции | Доплата |
|---|---|---|---|
| Степень прожарки | structural | Medium / Well-done | 0 / 0 |
| Соус для бургера | free | Сырный / Песто | 50 / 60 |
| Размер пиццы | structural | 30 см / 40 см | 0 / 200 |
| Доп. ингредиенты | free | Доп. сыр / Грибы | 100 / 80 |
| Объём | structural | 250 / 350 / 450 мл | 0 / 50 / 100 |
Tech cards (3)
- Бургер — выход 350 г, 6 ингредиентов (котлета, булка, сыр, помидор, огурец, лук).
- Пицца Пепперони — выход 450 г (30 см), 5 ингредиентов (тесто, моцарелла, пепперони, соус, базилик).
- Латте — выход 350 мл, 3 ингредиента (зерна кофе, молоко, вода).
Default price list
«Стандартный» (is_default=true) — все 6 products + 11 опций модификаторов с проставленными ценами.
Что seed НЕ делает
- ❌ Не создаёт стоп-листы.
- ❌ Не привязывает категории к расписаниям меню (
menu_availability). - ❌ Не создаёт внешние меню
/r/{slug}— после seed нужно их пересоздать в админке если они ссылались на удалённые product_id. - ❌ Не трогает store-data (магазины, зоны доставки) — они не входят в catalog.
- ❌ Не создаёт сотрудников, роли, смены, заказы — это runtime data.
UAT-чеклист
После применения seed проверь:
| # | Где | Что должно быть |
|---|---|---|
| 1 | Админка → Каталог → Категории | Дерево из 4 root + 4 дочерних |
| 2 | Админка → Каталог → Товары | 6 строк, у каждого правильная категория |
| 3 | Бургер → Edit | 2 модификатор-группы (structural + free) |
| 4 | Пицца → Edit | 2 модификатор-группы (structural + free) |
| 5 | Латте → Edit | 1 modifier-группа (structural объём) |
| 6 | Прейскуранты | «Стандартный» (default), 6 product-строк + 11 option-строк |
| 7 | Каталог → Кухонные станции | 3 строки |
| 8 | Warehouse → Техкарты | 3 строки (Бургер/Пицца/Латте) |
| 9 | Warehouse → Ингредиенты | 14 строк |
| 10 | POS Desktop (PIN-логин → Главная) | 6 товаров в каталоге кассы |
| 11 | KDS app | свежий заказ Бургера сразу появляется в «Горячем цехе» |
Связи
- Deployment Runbook
erp-infrastructure/seed/README.md— UUID-таблица и команды- Skill
/seed-test—.claude/skills/seed-test/SKILL.md