add a test case for project folders with no kcl files (#2523)
Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
@ -1102,4 +1102,31 @@ color = 1567.4"#;
|
||||
|
||||
std::fs::remove_dir_all(&settings.settings.project.directory).unwrap();
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_list_projects_with_dir_not_containing_kcl_file() {
|
||||
let mut settings = Configuration::default();
|
||||
settings.settings.project.directory =
|
||||
std::env::temp_dir().join(format!("test_project_{}", uuid::Uuid::new_v4()));
|
||||
|
||||
let project_name = format!("test_project_{}", uuid::Uuid::new_v4());
|
||||
let project = settings
|
||||
.create_new_project_directory(&project_name, None)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
// Create a directory in the project directory that doesn't contain a KCL file.
|
||||
let random_dir = std::path::Path::new(&settings.settings.project.directory).join("random_dir");
|
||||
tokio::fs::create_dir_all(&random_dir).await.unwrap();
|
||||
|
||||
let projects = settings.list_projects().await.unwrap();
|
||||
assert_eq!(projects.len(), 1);
|
||||
assert_eq!(projects[0].file.name, project_name);
|
||||
assert_eq!(projects[0].file.path, project.file.path);
|
||||
assert_eq!(projects[0].kcl_file_count, 1);
|
||||
assert_eq!(projects[0].directory_count, 0);
|
||||
assert_eq!(projects[0].default_file, project.default_file);
|
||||
|
||||
std::fs::remove_dir_all(&settings.settings.project.directory).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user