Skip to content

Commit 0322d91

Browse files
committed
Add test for remove command in tests/remove.rs #3
1 parent 0c213ab commit 0322d91

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

tests/remove.rs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#[cfg(test)]
2+
mod tests {
3+
use std::fs;
4+
use tasky_cli::{
5+
Task,
6+
commands::remove_task,
7+
storage::{load_tasks, save_tasks},
8+
};
9+
10+
#[test]
11+
fn test_remove_task() {
12+
let _ = fs::remove_file("tasks.json");
13+
14+
let mut tasks = vec![
15+
Task {
16+
text: "Task 1".to_string(),
17+
done: false,
18+
},
19+
Task {
20+
text: "Task 2".to_string(),
21+
done: false,
22+
},
23+
];
24+
save_tasks(&tasks);
25+
26+
let loaded = load_tasks();
27+
assert_eq!(loaded.len(), 2, "Expected two tasks initially");
28+
assert_eq!(loaded[0].text, "Task 1", "Initial Task 1 text mismatch");
29+
assert_eq!(loaded[1].text, "Task 2", "Initial Task 2 text mismatch");
30+
31+
remove_task(&mut tasks, 0);
32+
33+
let loaded = load_tasks();
34+
assert_eq!(loaded.len(), 1, "Expected one task after removal");
35+
assert_eq!(loaded[0].text, "Task 2", "Expected Task 2 to remain");
36+
assert!(!loaded[0].done, "Remaining task should not be done");
37+
}
38+
}

0 commit comments

Comments
 (0)