- 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>
2.1 KiB
2.1 KiB
PAPA YU Tests
Структура
tests/
├── README.md # Этот файл
└── fixtures/ # Тестовые фикстуры (минимальные проекты)
├── minimal-node/ # Node.js проект без README
└── minimal-rust/ # Rust проект без README
Юнит-тесты (Rust)
Запуск всех юнит-тестов:
cd src-tauri
cargo test
Текущие тесты покрывают:
detect_project_type— определение типа проектаget_project_limits— лимиты по типу проектаis_protected_file— защита служебных файловis_text_allowed— фильтр текстовых файловsettings_export— экспорт/импорт настроек
E2E сценарий (ручной)
См. docs/E2E_SCENARIO.md для пошагового сценария:
- Запустить приложение:
npm run tauri dev - Выбрать одну из фикстур (например,
tests/fixtures/minimal-node) - Запустить анализ
- Применить рекомендованные исправления
- Проверить, что README.md создан
- Откатить изменения (Undo)
- Проверить, что README.md удалён
Тестовые фикстуры
minimal-node
Минимальный Node.js проект:
package.json— манифест пакетаindex.js— точка входа- Нет README — должен быть предложен при анализе
minimal-rust
Минимальный Rust проект:
Cargo.toml— манифест пакетаsrc/main.rs— точка входа- Нет README — должен быть предложен при анализе
Автоматизация E2E (будущее)
Планируется использовать:
- Tauri test — для тестирования команд
- Playwright — для тестирования UI