()
| 670 | |
| 671 | #[test] |
| 672 | fn test_new_session() { |
| 673 | let s = make_session(); |
| 674 | assert_eq!(s.session_id, "sess-abc-123"); |
| 675 | assert_eq!(s.agent_name, "claude-code"); |
| 676 | assert_eq!(s.agent_display_name, "Claude Code"); |
| 677 | // View name is haikunator-style: adjective-noun-hex |
| 678 | let parts: Vec<&str> = s.view_name.split('-').collect(); |
| 679 | assert_eq!( |
| 680 | parts.len(), |
| 681 | 3, |
| 682 | "view name '{}' should be adj-noun-hex", |
| 683 | s.view_name |
| 684 | ); |
| 685 | assert_eq!(parts[2].len(), 4); |
| 686 | assert_eq!(s.phase, Phase::Idle); |
| 687 | assert_eq!(s.turn_count, 0); |
| 688 | assert!(s.last_interaction.is_some()); |
| 689 | assert!(s.ended_at.is_none()); |
| 690 | assert!(s.transcript_path.is_none()); |
| 691 | assert!(s.first_prompt.is_none()); |
| 692 | assert!(s.files_touched.is_empty()); |
| 693 | assert!(s.current_turn_started_at.is_none()); |
| 694 | } |
| 695 | |
| 696 | #[test] |
| 697 | fn test_make_view_name() { |
nothing calls this directly
no test coverage detected