Files
autotest/HISTORY/2026-07-24-session-1.md

69 lines
2.8 KiB
Markdown

# 2026-07-24 — Логика UI для тестирования операций
## Принцип: одна операция — один тест
Пользователь выбирает сервис → видит его операции → выбирает операцию → задаёт параметры → жмёт «Тест».
## Dummy как эталон
Dummy (svcId=1) — тестовый сервис. 7 операций: create, modify, suspend, resume, delete, redeploy, reconcile.
### Состояния операций
Операции зависят от существования инстанса:
- **Инстанс НЕ создан:** только `create` активна, остальные серые
- **Инстанс создан (running):** `modify`, `suspend`, `delete`, `redeploy` активны
- **Инстанс suspended:** `resume`, `delete` активны
- **Инстанс deleted:** все серые
`reconcile` — всегда доступна (восстановительная).
## UI (мысли)
### Таблица сервисов (сейчас скрыта, будет возвращена)
Одна строка на сервис. При клике — раскрывается список операций.
### Операции
Каждая операция — строка с:
- Название операции
- Кнопка «Тест» (серая если недоступна)
- Индикатор состояния (instanceUid если инстанс существует)
### Параметры операции (при клике на «Тест»)
Раскрывается форма с параметрами:
- **Обязательные, есть defaultValue:** поле заполнено, **жирный шрифт**
- **Обязательные, нет defaultValue:** поле с плейсхолдером, **красная обводка** — юзер должен заполнить
- **Необязательные:** поле с defaultValue или пустое, обычный шрифт
Для `valueList` — select/autocomplete.
Для `map-fixed` — вложенные поля.
Для `boolean` — checkbox.
### Логика доступности операций
```
Если инстансов dummy == 0:
create: активно
остальные: серые
Если есть инстанс в статусе running:
modify, suspend, delete, redeploy: активны
resume: серое
create: серое (уже есть)
Если есть инстанс в статусе suspended:
resume, delete: активны
остальные: серые
```
## Не реализовано (MVP later)
- Pipeline из нескольких операций
- Сохранение пресетов параметров
- История тестов