#[cfg(test)] mod tests { use crate::error::WebBuilderError; use crate::git::clone_repository; use std::path::PathBuf; #[test] fn test_clone_repository_error_invalid_destination() { // Test with a destination that has no parent directory let result = clone_repository("https://git.ourworld.tf/tfgrid/home.git", PathBuf::from("/")); assert!(result.is_err()); assert!(matches!( result.unwrap_err(), WebBuilderError::InvalidConfiguration(_) )); } // Note: The following tests would require mocking the sal::git module, // which is complex due to the external dependency. In a real-world scenario, // we would use a more sophisticated mocking approach or integration tests. // For now, we'll just test the error cases and leave the success cases // for integration testing. }