Skip to content

Commit 356bffa

Browse files
committed
add unit tests for delete and complete task
1 parent 850617f commit 356bffa

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

src/test/java/com/taskmanagerapi/TaskServiceTests.java

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,51 @@ void getTask_returnsEmptyForUnknownId() {
3737

3838
assertTrue(result.isEmpty());
3939
}
40+
41+
@Test
42+
void completeTask_setsStatusToDoneForValidId() {
43+
Task created = taskService.addTask("Buy groceries", "Milk, eggs, bread");
44+
45+
Optional<Task> result = taskService.completeTask(created.getId());
46+
47+
assertTrue(result.isPresent());
48+
assertEquals(TaskStatus.DONE, result.get().getStatus());
49+
assertEquals(created.getId(), result.get().getId());
50+
}
51+
52+
@Test
53+
void completeTask_returnsEmptyForUnknownId() {
54+
Optional<Task> result = taskService.completeTask("non-existent-id");
55+
56+
assertTrue(result.isEmpty());
57+
}
58+
59+
@Test
60+
void deleteTask_setsStatusToDeletedForValidId() {
61+
Task created = taskService.addTask("Buy groceries", "Milk, eggs, bread");
62+
63+
Optional<Task> result = taskService.deleteTask(created.getId());
64+
65+
assertTrue(result.isPresent());
66+
assertEquals(TaskStatus.DELETED, result.get().getStatus());
67+
assertEquals(created.getId(), result.get().getId());
68+
}
69+
70+
@Test
71+
void deleteTask_returnsEmptyForUnknownId() {
72+
Optional<Task> result = taskService.deleteTask("non-existent-id");
73+
74+
assertTrue(result.isEmpty());
75+
}
76+
77+
@Test
78+
void deleteTask_handlesAlreadyDeletedTask() {
79+
Task created = taskService.addTask("Buy groceries", "Milk, eggs, bread");
80+
taskService.deleteTask(created.getId()); // First delete
81+
82+
Optional<Task> result = taskService.deleteTask(created.getId()); // Second delete
83+
84+
assertTrue(result.isPresent());
85+
assertEquals(TaskStatus.DELETED, result.get().getStatus());
86+
}
4087
}

0 commit comments

Comments
 (0)