From 5a13e6135703120cc392ff1eee9b6303d3d2a2ae Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 25 Apr 2026 20:08:21 +0200 Subject: [PATCH] feat(documents): wire archiveBox + archiveFolder through DTO and service update --- .../familienarchiv/dto/DocumentUpdateDTO.java | 2 ++ .../familienarchiv/service/DocumentService.java | 2 ++ .../service/DocumentServiceTest.java | 17 +++++++++++++++++ 3 files changed, 21 insertions(+) diff --git a/backend/src/main/java/org/raddatz/familienarchiv/dto/DocumentUpdateDTO.java b/backend/src/main/java/org/raddatz/familienarchiv/dto/DocumentUpdateDTO.java index 2cf39760..3e0cad0f 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/dto/DocumentUpdateDTO.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/dto/DocumentUpdateDTO.java @@ -13,6 +13,8 @@ public class DocumentUpdateDTO { private LocalDate documentDate; private String location; private String documentLocation; + private String archiveBox; + private String archiveFolder; private String transcription; private String summary; private UUID senderId; diff --git a/backend/src/main/java/org/raddatz/familienarchiv/service/DocumentService.java b/backend/src/main/java/org/raddatz/familienarchiv/service/DocumentService.java index 3fd9e43a..7bc37953 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/service/DocumentService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/service/DocumentService.java @@ -271,6 +271,8 @@ public class DocumentService { doc.setTranscription(dto.getTranscription()); doc.setSummary(dto.getSummary()); doc.setDocumentLocation(dto.getDocumentLocation()); + doc.setArchiveBox(dto.getArchiveBox()); + doc.setArchiveFolder(dto.getArchiveFolder()); List tags = new ArrayList<>(); if (dto.getTags() != null && !dto.getTags().isBlank()) { diff --git a/backend/src/test/java/org/raddatz/familienarchiv/service/DocumentServiceTest.java b/backend/src/test/java/org/raddatz/familienarchiv/service/DocumentServiceTest.java index 1bea2233..f3a95e4f 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/service/DocumentServiceTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/service/DocumentServiceTest.java @@ -121,6 +121,23 @@ class DocumentServiceTest { .isInstanceOf(DomainException.class); } + @Test + void updateDocument_setsArchiveBoxAndFolder() throws Exception { + UUID id = UUID.randomUUID(); + Document doc = Document.builder().id(id).receivers(new HashSet<>()).tags(new HashSet<>()).build(); + when(documentRepository.findById(id)).thenReturn(Optional.of(doc)); + when(documentRepository.save(any())).thenReturn(doc); + + DocumentUpdateDTO dto = new DocumentUpdateDTO(); + dto.setArchiveBox("K-03"); + dto.setArchiveFolder("Mappe B"); + + documentService.updateDocument(id, dto, null, null); + + assertThat(doc.getArchiveBox()).isEqualTo("K-03"); + assertThat(doc.getArchiveFolder()).isEqualTo("Mappe B"); + } + // ─── deleteTagCascading ─────────────────────────────────────────────────── @Test