Skip to content

v0.3.3 - Typed API Models & Test Coverage

Choose a tag to compare

@Finesssee Finesssee released this 16 Feb 03:33

Typed API Models & Test Coverage

Completes typed API model adoption across all 13 command handlers and significantly expands test coverage.

Typed API Model Adoption (7 handlers)

All command handlers now use typed structs from types.rs for display paths instead of raw serde_json::Value indexing:

  • cycles.rsCycle struct for list and current cycle display
  • notifications.rsNotification struct with IssueRef for notification list
  • time.rsTimeEntry struct (added duration field) for time entry list
  • relations.rsIssueRelation and IssueRef (with new state field) for parent/children/relations display
  • favorites.rsFavorite struct for remove lookup
  • roadmaps.rsRoadmap struct for list display
  • initiatives.rsInitiative struct (added status/sort_order fields) for list display

Previously completed (v0.3.1): teams, users, projects, labels, comments, documents

Type System Enhancements

  • IssueRef gains state: Option<WorkflowState> for relations display
  • Initiative gains status: Option<String> and sort_order: Option<f64>
  • TimeEntry gains duration: Option<i64> for minutes-based time tracking

Test Coverage Expansion

  • 41 new unit tests (126 → 167): 26 type deserialization tests + 11 notification type formatter tests + 4 relation type tests
  • 14 new integration tests (32 → 46): help text and alias tests for time, relations, favorites, roadmaps, initiatives, documents, context
  • Total: 213 tests, all passing, 0 warnings

Stats

  • 9 files changed, +846 lines