Bootstrap test suite — Phase 1 unit tests
- docs/testing.md: testing strategy, mock strategy, phase breakdown
- tests/conftest.py: autouse fixture to reset navi.config.settings per test
- tests/conftest_factory.py: FakeLLMBackend, FakeTool, make_profile, make_registry helpers
- tests/unit/core/test_events.py: wire serialization for all 15 event dataclasses
- tests/unit/core/test_compressor.py: should_compress, partition_messages, format_for_summary, compress_context
- tests/unit/core/test_registry.py: ToolRegistry, ProfileRegistry, BackendRegistry
- tests/unit/core/test_context_builder.py: system prompt caching, persona injection, goal anchor, iteration budget
- tests/unit/profiles/test_base.py: Pydantic model coercion, defaults, extra fields
- navi/core/context_builder.py: use module-level `import navi.config` instead of `from navi.config import settings` so tests can swap the singleton

59 tests passing.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 02f2d8e commit fe973b2a3265d63123ae17ca618baa8908f40515
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 29 Apr
Showing 9 changed files
View
docs/testing.md 0 → 100644
View
navi/core/context_builder.py
View
tests/conftest.py 0 → 100644
View
tests/conftest_factory.py 0 → 100644
View
tests/unit/core/test_compressor.py 0 → 100644
View
tests/unit/core/test_context_builder.py 0 → 100644
View
tests/unit/core/test_events.py 0 → 100644
View
tests/unit/core/test_registry.py 0 → 100644
View
tests/unit/profiles/test_base.py 0 → 100644