-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
Production Test Coverage
Priority: Ongoing | Phase: Throughout | Milestone: v1.0 MVP
Comprehensive test coverage for v1.0 release.
When to Work On
- Write tests as each feature is implemented (TDD preferred)
- Add integration tests after features stabilize
- Final coverage audit before v1.0 release
Coverage Targets
| Layer | Target | Approach |
|---|---|---|
| Domain | 90%+ | Pure unit tests |
| Storage | 85%+ | In-memory SQLite, temp directories |
| Core | 80%+ | Mock sources/storage, integration tests |
| Source | 75%+ | Recorded HTTP responses, mock servers |
| CLI | Key paths | End-to-end tests with temp configs |
New Test Categories
Integration Tests
Full install/update/uninstall flows:
- Install with dependencies (P3: Automatic dependency installation #5)
- Update with rollback
- Profile switch with missing mods
- Import from local file (P4: Import mods from local folder #1)
- Conflict detection (P2: Conflict detection and warnings #6)
- Checksum verification (P1: Checksum verification for downloads #8)
Error Path Testing
- Network failures during download
- Corrupt archives
- Checksum mismatches
- Permission errors on deploy
- Invalid config files
- Missing dependencies
- Circular dependencies
Migration Tests
- DB schema upgrades from v0.7.x to v1.0 (V6 migration)
- Config file format changes (hooks in games.yaml)
End-to-End Tests
- Full CLI workflows with temp config/data dirs
- Verify exit codes
- Verify JSON output format (P7: JSON output for scripting #9)
Tools
go testwith-coverflag- Consider adding
go test -raceto CI - Mock HTTP server for NexusMods API tests
- Recorded responses for reproducible API tests
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation