UI logic: atomic operations, dummy as reference, parameter states
This commit is contained in:
@@ -0,0 +1,68 @@
|
|||||||
|
# 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 из нескольких операций
|
||||||
|
- Сохранение пресетов параметров
|
||||||
|
- История тестов
|
||||||
Reference in New Issue
Block a user