test(contracts): expand serde round-trip coverage to all types #20
Labels
No labels
area:config
area:contracts
area:engine
area:eventsourcing
area:frontend
area:git
area:ipc
area:persistence
area:provider
area:scaffold
area:terminal
type:user-story
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/peon!20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "test/19"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Thread,Turn,Message,Checkpoint,Provider,RuntimeMode,TurnStatus,MessageRole,CommitInfo,BranchInfo,FileDiff,FileChangeStatus(all variants includingRenamedandCopied),OrchestrationReadModelKeySpectests forSuper/Altmodifiers, all-modifier round-trip, andto_string_reprwithMetaKeyScopeserde round-trip covering all 4 variantsTest plan
cargo fmt --all -- --checkpassescargo clippy --workspace -- -D warningspasses (0 warnings)cargo testpasses — 33/33 tests greenCloses #19
Reviewed all four test files in full. Test count (33) matches the PR claim and coverage of new types is thorough. Two issues with silent assertion gaps — see inline comments.
serde_round_trip_git_statusconstructsGitStatus { ahead: 2, untracked: vec!["new_file.rs".into()], ... }but never asserts those fields after decoding. A regression inaheadoruntrackedserde (e.g. a field rename) would silently pass.Add after the existing assertions:
serde_round_trip_keybindingonly checksidandscope—default_key,current_key, anddescriptionare never asserted after decoding.KeySpecserde is covered by its own round-trip tests, but a bug specifically in howKeySpecis embedded inKeybinding(e.g. wrong field name in the JSON) would go undetected here.Add after the existing assertions:
Reviewed all four test files in full. Test count (33) matches the PR claim and coverage of new types is thorough. Two issues with silent assertion gaps — see inline comments.
serde_round_trip_git_statusconstructsGitStatus { ahead: 2, untracked: vec!["new_file.rs".into()], ... }but never asserts those fields after decoding. A regression inaheadoruntrackedserde (e.g. a field rename) would silently pass.Add after the existing assertions:
serde_round_trip_keybindingonly checksidandscope—default_key,current_key, anddescriptionare never asserted after decoding.KeySpecserde is covered by its own round-trip tests, but a bug specifically in howKeySpecis embedded inKeybinding(e.g. wrong field name in the JSON) would go undetected here.Add after the existing assertions:
Pull request closed