//! Tests for DevSession

use mecha10_cli::config_types::*;
use mecha10_cli::handlers::dev::session::DevSession;
use std::collections::HashMap;

#[test]
fn test_dev_session_structure() {
    // Test that DevSession has expected fields
    let config = ProjectConfig {
        name: "test".to_string(),
        version: "0.1.0".to_string(),
        robot: RobotConfig {
            id: "test".to_string(),
            platform: Some("test".to_string()),
            description: Some("test".to_string()),
        },
        simulation: None,
        nodes: NodesConfig::default(),
        services: ServicesConfig::default(),
        docker: DockerServicesConfig::default(),
        redis: RedisConfig::default(),
    };

    let session = DevSession {
        project_name: "test".to_string(),
        project_version: "0.1.0".to_string(),
        config,
        nodes: vec![],
        pids: HashMap::new(),
        godot_path: None,
        sim_paths: None,
        should_build: true,
        watch_mode: false,
    };

    assert_eq!(session.project_name, "test");
    assert_eq!(session.project_version, "0.1.0");
    assert!(session.should_build);
    assert!(!session.watch_mode);
}
