()
| 724 | |
| 725 | #[test] |
| 726 | fn test_new_session() { |
| 727 | let s = make_session(); |
| 728 | assert_eq!(s.session_id, "sess-abc-123"); |
| 729 | assert_eq!(s.agent_name, "claude-code"); |
| 730 | assert_eq!(s.agent_display_name, "Claude Code"); |
| 731 | // View name is haikunator-style: adjective-noun-hex |
| 732 | let parts: Vec<&str> = s.view_name.split('-').collect(); |
| 733 | assert_eq!( |
| 734 | parts.len(), |
| 735 | 3, |
| 736 | "view name '{}' should be adj-noun-hex", |
| 737 | s.view_name |
| 738 | ); |
| 739 | assert_eq!(parts[2].len(), 4); |
| 740 | assert_eq!(s.phase, Phase::Idle); |
| 741 | assert_eq!(s.turn_count, 0); |
| 742 | assert!(s.last_interaction.is_some()); |
| 743 | assert!(s.ended_at.is_none()); |
| 744 | assert!(s.transcript_path.is_none()); |
| 745 | assert!(s.first_prompt.is_none()); |
| 746 | assert!(s.files_touched.is_empty()); |
| 747 | assert!(s.current_turn_started_at.is_none()); |
| 748 | } |
| 749 | |
| 750 | #[test] |
| 751 | fn test_make_view_name() { |
nothing calls this directly
no test coverage detected