- Test create, list, get, delete operations
- Test bag deduction and conflict on insufficient coffee
- Test CLI commands with defaults
- Add create_default_gear helper
Implement complete test coverage for the Gear entity across CLI, API,
timeline, and Datastar integration layers. This completes the Gear
entity implementation with 32 dedicated tests ensuring all CRUD
operations, authentication requirements, and reactive UI updates work
correctly.
Test Coverage:
- CLI commands (11 tests): Authentication, CRUD operations, category
filtering, notes handling
- API endpoints (13 tests): HTTP status codes, validation, auth
requirements, filtering
- Timeline integration (1 test): Gear creation events appear correctly
- Datastar fragments (7 tests): Fragment rendering vs full page/JSON
responses for list, create, update, delete
Changes:
- Add tests/cli/gear_cli.rs with CLI integration tests
- Add tests/server/gear_api.rs with API integration tests
- Update tests/server/timeline.rs with gear timeline test
- Update tests/server/datastar.rs with gear fragment rendering tests
- Register test modules in tests/cli/main.rs and tests/server/main.rs
- Clean up unused imports in tests/server/helpers.rs
All 140 tests pass (8 unit + 37 CLI + 95 server integration).
- Create tests/cli directory with test modules for roasters, roasts, and tokens
- Add helper functions for spawning test servers and running CLI commands
- Add portpicker and tempfile dev dependencies for CLI tests
- Tests demonstrate expected behavior but need CLI refinements to fully work:
* CLI commands need --server flag or better env variable handling
* create-token needs non-interactive mode for testing
* Commands should support --json output format for easier parsing
Infrastructure is ready for completion once CLI improvements are made
Co-authored-by: jnsgruk <668505+jnsgruk@users.noreply.github.com>