|
17 | 17 | import static org.junit.jupiter.api.Assertions.assertTrue; |
18 | 18 |
|
19 | 19 | import java.util.List; |
| 20 | +import java.util.Map; |
20 | 21 | import java.util.Objects; |
21 | 22 | import java.util.stream.Collectors; |
22 | 23 |
|
23 | 24 | import org.junit.jupiter.api.AfterAll; |
24 | 25 | import org.junit.jupiter.api.BeforeAll; |
25 | 26 | import org.junit.jupiter.api.Test; |
26 | 27 | import org.kitodo.MockDatabase; |
| 28 | +import org.kitodo.data.database.beans.Process; |
27 | 29 | import org.kitodo.data.database.beans.Task; |
28 | 30 | import org.kitodo.data.database.beans.User; |
29 | 31 | import org.kitodo.data.database.enums.TaskStatus; |
@@ -294,4 +296,27 @@ public void shouldGetTasksInProgressForUser() throws Exception { |
294 | 296 | assertEquals(expected.size(), actual.size(), "Unexpected task count"); |
295 | 297 | assertTrue(actual.containsAll(expected), "Returned tasks do not match expected INWORK tasks"); |
296 | 298 | } |
| 299 | + |
| 300 | + @Test |
| 301 | + public void shouldLoadTaskTitlesForProcesses() throws Exception { |
| 302 | + List<Integer> ids = List.of(1, 2); |
| 303 | + Map<Integer, Map<TaskStatus, List<String>>> actualMap = taskService.loadTaskTitlesForProcesses(ids); |
| 304 | + |
| 305 | + for (Integer id : ids) { |
| 306 | + Process p = ServiceManager.getProcessService().getById(id); |
| 307 | + Map<TaskStatus, List<String>> processResults = actualMap.get(id); |
| 308 | + |
| 309 | + for (TaskStatus status : List.of(TaskStatus.OPEN, TaskStatus.INWORK)) { |
| 310 | + List<String> expected = p.getTasks().stream() |
| 311 | + .filter(t -> t.getProcessingStatus() == status) |
| 312 | + .map(Task::getTitle) |
| 313 | + .collect(Collectors.toList()); |
| 314 | + |
| 315 | + List<String> actual = processResults.getOrDefault(status, List.of()); |
| 316 | + |
| 317 | + assertEquals(expected.size(), actual.size(), "Size mismatch for " + status); |
| 318 | + assertTrue(actual.containsAll(expected), "Content mismatch for " + status); |
| 319 | + } |
| 320 | + } |
| 321 | + } |
297 | 322 | } |
0 commit comments