use std::fs;
use tempfile::TempDir;
use vtcode_core::config::VTCodeConfig;
#[test]
fn test_load_config_from_home_directory() {
let temp_dir = TempDir::new().expect("Failed to create temp directory");
let home_dir = temp_dir.path();
let vtcode_dir = home_dir.join(".vtcode");
fs::create_dir_all(&vtcode_dir).expect("Failed to create .vtcode directory");
let config_content = r#"
[agent]
default_model = "test-model"
provider = "test-provider"
max_conversation_turns = 50
[security]
human_in_the_loop = false
"#;
let config_path = vtcode_dir.join("vtcode.toml");
fs::write(&config_path, config_content).expect("Failed to write config file");
let workspace_dir = temp_dir.path().join("workspace");
fs::create_dir_all(&workspace_dir).expect("Failed to create workspace directory");
let created_files = VTCodeConfig::bootstrap_project_with_options(
&workspace_dir,
true, true, )
.expect("Failed to bootstrap project with home directory");
assert!(!created_files.is_empty());
assert!(created_files.contains(&"vtcode.toml".to_string()));
let home_config_path = vtcode_dir.join("vtcode.toml");
let home_gitignore_path = vtcode_dir.join(".vtcodegitignore");
assert!(home_config_path.exists());
assert!(home_gitignore_path.exists());
}