papayu/tests/README.md
Yuriy 65e95a458d feat: мульти-провайдер LLM, тренды дизайна, Snyk/Documatic sync, личная автоматизация
- Мульти-провайдер: PAPAYU_LLM_PROVIDERS — сбор планов от нескольких ИИ (Claude, OpenAI), агрегация
- Тренды дизайна и иконок: вкладка в модалке, поиск по безопасным доменам (Tavily include_domains)
- Snyk Code: PAPAYU_SNYK_SYNC, REST API issues → snyk_findings в agent-sync
- Documatic: architecture_summary из .papa-yu/architecture.md в agent-sync
- Личная автоматизация: capability personal-automation (терминал git/npm/cargo, открытие URL)
- agent_sync расширен: snyk_findings, architecture_summary; analyze_project_cmd и run_batch пишут sync
- Документация: SNYK_AND_DOCUMATIC_SYNC.md, SECURITY_AND_PERSONAL_AUTOMATION.md, обновлён CLAUDE_AND_AGENT_SYNC

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 15:05:39 +03:00

70 lines
2.5 KiB
Markdown

# PAPA YU Tests
## Структура
```
tests/
├── README.md # Этот файл
└── fixtures/ # Тестовые фикстуры (минимальные проекты)
├── minimal-node/ # Node.js проект без README
└── minimal-rust/ # Rust проект без README
docs/golden_traces/ # Эталонные трассы (регрессия, без raw_content)
├── README.md
└── v1/ # Protocol v1 fixtures
001_fix_bug_plan.json
002_fix_bug_apply.json
...
```
## Юнит-тесты (Rust)
Запуск всех юнит-тестов:
```bash
cd src-tauri
cargo test
```
Текущие тесты покрывают:
- `golden_traces_v1_validate` — валидация fixtures в `docs/golden_traces/v1/` (schema_version, schema_hash, parse, validate_actions, NO_CHANGES)
- `detect_project_type` — определение типа проекта
- `get_project_limits` — лимиты по типу проекта
- `is_protected_file` — защита служебных файлов
- `is_text_allowed` — фильтр текстовых файлов
- `settings_export` — экспорт/импорт настроек
## E2E сценарий (ручной)
См. `docs/E2E_SCENARIO.md` для пошагового сценария:
1. Запустить приложение: `npm run tauri dev`
2. Выбрать одну из фикстур (например, `tests/fixtures/minimal-node`)
3. Запустить анализ
4. Применить рекомендованные исправления
5. Проверить, что README.md создан
6. Откатить изменения (Undo)
7. Проверить, что 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