()
| 328 | |
| 329 | #[tokio::test] |
| 330 | async fn test_delete_task() { |
| 331 | use crate::test_utils::TestGitRepository; |
| 332 | |
| 333 | // Create a test git repository |
| 334 | let test_repo = TestGitRepository::new().unwrap(); |
| 335 | test_repo.init_with_commit().unwrap(); |
| 336 | let repo_root = test_repo.path().to_path_buf(); |
| 337 | |
| 338 | // Create AppContext - automatically gets test defaults |
| 339 | let ctx = AppContext::builder().build(); |
| 340 | let tsk_env = ctx.tsk_env(); |
| 341 | |
| 342 | // Create a task |
| 343 | let task_id = "test-task-123".to_string(); |
| 344 | let task_dir_path = tsk_env.task_dir(&task_id); |
| 345 | let copied_repo_path = task_dir_path.join("repo"); |
| 346 | |
| 347 | // Create the task directory and file |
| 348 | std::fs::create_dir_all(&task_dir_path).unwrap(); |
| 349 | std::fs::write(task_dir_path.join("test.txt"), "test content").unwrap(); |
| 350 | |
| 351 | // Add task via storage API |
| 352 | let task = Task { |
| 353 | id: task_id.clone(), |
| 354 | repo_root, |
| 355 | branch_name: format!("tsk/{task_id}"), |
| 356 | copied_repo_path: Some(copied_repo_path), |
| 357 | ..Task::test_default() |
| 358 | }; |
| 359 | let storage = ctx.task_storage(); |
| 360 | storage.add_task(task).await.unwrap(); |
| 361 | |
| 362 | let task_manager = TaskManager::new(&ctx).unwrap(); |
| 363 | |
| 364 | // Delete the task |
| 365 | let result = task_manager.delete_task(&task_id).await; |
| 366 | assert!(result.is_ok(), "Failed to delete task: {result:?}"); |
| 367 | |
| 368 | // Verify task directory is deleted |
| 369 | assert!( |
| 370 | !task_dir_path.exists(), |
| 371 | "Task directory should have been deleted" |
| 372 | ); |
| 373 | |
| 374 | // Verify task is removed from storage |
| 375 | let task = task_manager.task_storage.get_task(&task_id).await.unwrap(); |
| 376 | assert!(task.is_none(), "Task should have been deleted from storage"); |
| 377 | } |
| 378 | |
| 379 | #[tokio::test] |
| 380 | async fn test_clean_tasks() { |
nothing calls this directly
no test coverage detected