added tests
This commit is contained in:
@ -139,3 +139,52 @@ pub fn delete_model(path: &str) -> Result<(), String> {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[test]
|
||||
fn test_dir_size_empty() {
|
||||
let size = dir_size(&PathBuf::from("/nonexistent/path/12345"));
|
||||
assert_eq!(size, 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_scan_whisper_models_empty() {
|
||||
let models = scan_whisper_models();
|
||||
// In CI there won't be any whisper models
|
||||
// Just verify it doesn't panic
|
||||
assert!(models.len() >= 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_scan_llm_models_empty() {
|
||||
let models = scan_llm_models(&PathBuf::from("/nonexistent/app_data"));
|
||||
assert!(models.is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_list_models_empty() {
|
||||
let models = list_models(&PathBuf::from("/nonexistent/app_data"));
|
||||
// No models should be found in a non-existent directory
|
||||
let whisper_models = models.iter().filter(|m| m.kind == "whisper").count();
|
||||
let llm_models = models.iter().filter(|m| m.kind == "llm").count();
|
||||
assert_eq!(llm_models, 0);
|
||||
// whisper models may or may not exist on dev machine
|
||||
assert!(whisper_models >= 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_delete_model_nonexistent() {
|
||||
let result = delete_model("/nonexistent/model/path.gguf");
|
||||
assert!(result.is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_delete_model_empty_path() {
|
||||
let result = delete_model("");
|
||||
assert!(result.is_err());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user