MCPcopy Create free account
hub / github.com/dtormoen/tsk-tsk / test_delete_task

Function test_delete_task

src/task_manager.rs:330–377  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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() {

Callers

nothing calls this directly

Calls 9

init_with_commitMethod · 0.80
pathMethod · 0.80
tsk_envMethod · 0.80
task_dirMethod · 0.80
task_storageMethod · 0.80
add_taskMethod · 0.80
get_taskMethod · 0.80
buildMethod · 0.45
delete_taskMethod · 0.45

Tested by

no test coverage detected