Skip to content

Commit c56e5a8

Browse files
committed
Add tests
1 parent ca73014 commit c56e5a8

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

Kitodo/src/test/java/org/kitodo/production/services/data/ProcessServiceIT.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@
2828
import java.util.Collections;
2929
import java.util.List;
3030
import java.util.Map;
31+
import java.util.Objects;
32+
import java.util.Set;
33+
34+
import java.util.stream.Collectors;
3135

3236
import org.apache.commons.lang3.SystemUtils;
3337
import org.junit.jupiter.api.AfterAll;
@@ -732,4 +736,21 @@ public void shouldReturnCorrectProcessExportDTOWithCorrectStats() throws Excepti
732736
// cleanup
733737
ProcessTestUtils.removeTestProcess(testProcessId);
734738
}
739+
740+
@Test
741+
public void shouldFindProcessIdsWithChildren() throws Exception {
742+
ProcessService processService = ServiceManager.getProcessService();
743+
List<Process> processes = processService.getAll();
744+
List<Integer> allIds = processes.stream()
745+
.map(Process::getId)
746+
.collect(Collectors.toList());
747+
Set<Integer> expected = processes.stream()
748+
.filter(p -> Objects.nonNull(p.getChildren()) && !p.getChildren().isEmpty())
749+
.map(Process::getId)
750+
.collect(Collectors.toSet());
751+
Set<Integer> actual = processService.findProcessIdsWithChildren(allIds);
752+
753+
assertEquals(expected.size(), actual.size(), "Unexpected number of parent processes");
754+
assertTrue(actual.containsAll(expected), "Returned parent process IDs do not match expected");
755+
}
735756
}

Kitodo/src/test/java/org/kitodo/production/services/data/TaskServiceIT.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@
1717
import static org.junit.jupiter.api.Assertions.assertTrue;
1818

1919
import java.util.List;
20+
import java.util.Map;
2021
import java.util.Objects;
2122
import java.util.stream.Collectors;
2223

2324
import org.junit.jupiter.api.AfterAll;
2425
import org.junit.jupiter.api.BeforeAll;
2526
import org.junit.jupiter.api.Test;
2627
import org.kitodo.MockDatabase;
28+
import org.kitodo.data.database.beans.Process;
2729
import org.kitodo.data.database.beans.Task;
2830
import org.kitodo.data.database.beans.User;
2931
import org.kitodo.data.database.enums.TaskStatus;
@@ -294,4 +296,27 @@ public void shouldGetTasksInProgressForUser() throws Exception {
294296
assertEquals(expected.size(), actual.size(), "Unexpected task count");
295297
assertTrue(actual.containsAll(expected), "Returned tasks do not match expected INWORK tasks");
296298
}
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+
}
297322
}

0 commit comments

Comments
 (0)