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

Function test_clean_tasks

src/task_manager.rs:380–447  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

378
379 #[tokio::test]
380 async fn test_clean_tasks() {
381 // Set up test environment
382 let (config, test_repo, ctx) = setup_test_environment().await.unwrap();
383 let repo_root = test_repo.path().to_path_buf();
384
385 // Create tasks with different statuses
386 let queued_task_id = "queued-task-123".to_string();
387 let completed_task_id = "completed-task-456".to_string();
388
389 // Create task directories and files
390 let queued_dir_path =
391 setup_task_directory(&config, &queued_task_id, "Queued task instructions")
392 .await
393 .unwrap();
394 let completed_dir_path =
395 setup_task_directory(&config, &completed_task_id, "Completed task instructions")
396 .await
397 .unwrap();
398
399 let queued_task = Task {
400 id: queued_task_id.clone(),
401 repo_root: repo_root.clone(),
402 name: "queued-task".to_string(),
403 branch_name: format!("tsk/{queued_task_id}"),
404 copied_repo_path: Some(queued_dir_path.join("repo")),
405 ..Task::test_default()
406 };
407
408 let completed_task = Task {
409 id: completed_task_id.clone(),
410 repo_root: repo_root.clone(),
411 name: "completed-task".to_string(),
412 task_type: "fix".to_string(),
413 branch_name: format!("tsk/{completed_task_id}"),
414 status: TaskStatus::Complete,
415 copied_repo_path: Some(completed_dir_path.join("repo")),
416 ..Task::test_default()
417 };
418
419 // Add tasks via storage API
420 let storage = ctx.task_storage();
421 storage.add_task(queued_task).await.unwrap();
422 storage.add_task(completed_task).await.unwrap();
423
424 // Create TaskManager and clean tasks
425 let task_manager = TaskManager::new(&ctx).unwrap();
426
427 let result = task_manager.clean_tasks(false, None).await;
428 assert!(result.is_ok(), "Failed to clean tasks: {result:?}");
429 let result = result.unwrap();
430 assert_eq!(result.deleted, 1);
431 assert_eq!(result.skipped, 0);
432
433 // Verify directories are cleaned up
434 assert!(
435 queued_dir_path.exists(),
436 "Queued task directory should still exist"
437 );

Callers

nothing calls this directly

Calls 7

setup_test_environmentFunction · 0.85
setup_task_directoryFunction · 0.85
pathMethod · 0.80
task_storageMethod · 0.80
add_taskMethod · 0.80
clean_tasksMethod · 0.80
list_tasksMethod · 0.80

Tested by

no test coverage detected