- Schema version (x_schema_version, schema_hash) в prompt/trace - Кеш read/search/logs/env (ContextCache) в plan-цикле - Контекст-диета: MAX_FILES=8, MAX_FILE_CHARS=20k, MAX_TOTAL_CHARS=120k - Plan→Apply двухфазность, NO_CHANGES, path sanitization - Protected paths, content validation, EOL normalization - Trace (PAPAYU_TRACE), redaction (PAPAYU_TRACE_RAW) - Preview diff, undo/redo, transactional apply Co-authored-by: Cursor <cursoragent@cursor.com>
39 lines
3.2 KiB
Markdown
39 lines
3.2 KiB
Markdown
# E2E сценарий: анализ → применение → undo
|
||
|
||
Сценарий для ручной или автоматической проверки полного цикла работы приложения.
|
||
|
||
## Предусловия
|
||
|
||
- Установлены зависимости: `npm install`, `cargo build` (или `npm run tauri build`).
|
||
- Приложение запущено: `npm run tauri dev`.
|
||
- Есть тестовая папка с минимальным проектом (например, пустая папка с `package.json` или `Cargo.toml` без README).
|
||
|
||
## Шаги
|
||
|
||
1. **Выбор папки**
|
||
Нажать «Выбрать папку» и указать путь к тестовой папке (или ввести путь вручную и нажать «Отправить» / Ctrl+Enter).
|
||
|
||
2. **Анализ**
|
||
Убедиться, что запустился анализ и в ленте появилось сообщение ассистента вида «Нашёл X проблем. Могу исправить Y.» и отчёт (findings, actions).
|
||
|
||
3. **Применение**
|
||
Нажать «Применить рекомендованные исправления» или выбрать действия и нажать «Предпросмотр изменений», затем «Применить». Убедиться, что появилось сообщение об успешном применении и при необходимости — о прохождении проверок (auto_check).
|
||
|
||
4. **Откат (Undo)**
|
||
Нажать «Откатить» (или кнопку «Откатить изменения (Undo)» в блоке результата). Убедиться, что появилось сообщение «Последнее действие отменено.» или «Откат выполнен.» и что файлы на диске вернулись в состояние до применения (например, созданный README удалён).
|
||
|
||
## Критерии успеха
|
||
|
||
- Анализ возвращает отчёт с путём и списком действий.
|
||
- Применение создаёт/изменяет файлы и при включённом auto_check выполняет проверки (cargo check / npm run build и т.д.).
|
||
- После undo состояние проекта на диске соответствует состоянию до применения; кнопка «Откатить» снова неактивна (или активна для предыдущей транзакции).
|
||
|
||
## Автоматизация (будущее)
|
||
|
||
Для автоматического E2E можно использовать:
|
||
|
||
- **Tauri test** — запуск приложения и вызов команд через контекст теста.
|
||
- **Playwright** — управление окном приложения (WebView) и клики по кнопкам, проверка текста в ленте.
|
||
|
||
Текущие юнит-тесты эвристик (detect_project_type, is_protected_file, is_text_allowed) запускаются командой: `cd src-tauri && cargo test`.
|