- 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>
3.2 KiB
E2E сценарий: анализ → применение → undo
Сценарий для ручной или автоматической проверки полного цикла работы приложения.
Предусловия
- Установлены зависимости:
npm install,cargo build(илиnpm run tauri build). - Приложение запущено:
npm run tauri dev. - Есть тестовая папка с минимальным проектом (например, пустая папка с
package.jsonилиCargo.tomlбез README).
Шаги
-
Выбор папки
Нажать «Выбрать папку» и указать путь к тестовой папке (или ввести путь вручную и нажать «Отправить» / Ctrl+Enter). -
Анализ
Убедиться, что запустился анализ и в ленте появилось сообщение ассистента вида «Нашёл X проблем. Могу исправить Y.» и отчёт (findings, actions). -
Применение
Нажать «Применить рекомендованные исправления» или выбрать действия и нажать «Предпросмотр изменений», затем «Применить». Убедиться, что появилось сообщение об успешном применении и при необходимости — о прохождении проверок (auto_check). -
Откат (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.