-
Notifications
You must be signed in to change notification settings - Fork 124
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Increase test coverage from 54% to 100% across all modules.
Current Coverage (as of 1.0)
| Module | Current | Target |
|---|---|---|
model/model.py |
77% | 100% |
migrations/schema/legacy_migrator.py |
81% | 100% |
migrations/schema/migrator.py |
47% | 100% |
model/cli/migrate.py |
53% | 100% |
model/cli/index.py |
17% | 100% |
model/cli/migrate_data.py |
24% | 100% |
migrations/data/migrator.py |
11% | 100% |
migrations/data/builtin/datetime_migration.py |
14% | 100% |
migrations/data/base.py |
38% | 100% |
model/query_resolver.py |
0% | 100% |
model/render_tree.py |
9% | 100% |
checks.py |
40% | 100% |
Overall: 54% → 100%
Priority Areas
High Priority (core functionality)
-
model/model.py- Core ORM logic -
migrations/schema/migrator.py- File-based migrations -
migrations/schema/legacy_migrator.py- Schema detection
Medium Priority (CLI)
-
model/cli/index.py- Index management CLI -
model/cli/migrate.py- Migration CLI -
model/cli/migrate_data.py- Data migration CLI
Lower Priority (utilities)
-
migrations/data/*- Data migration internals -
model/query_resolver.py- Query resolution -
model/render_tree.py- Tree rendering -
checks.py- Feature detection
Testing Approach
- Unit tests for pure functions and classes
- Integration tests with Redis (using testcontainers)
- CLI tests using Click's test runner
- Mock tests for error paths and edge cases
Notes
- All tests must use testcontainers, never localhost:6379
- Follow existing test patterns in
tests/ - Run
make syncafter adding tests to generate sync versions
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request