# 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`.