diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangService.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangService.java index 4e6b37051239340631d052eb5657620a73fff729..47477d08add15ba5910eaa83d0821c3866152caf 100644 --- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangService.java +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangService.java @@ -170,9 +170,8 @@ public class VorgangService { return addLabels(loaded); } - public void setAktenzeichen(Command command) { - var aktenzeichen = StringUtils.trimToNull(MapUtils.getString(command.getBodyObject(), BODY_OBJECT_AKTENZEICHEN)); - repository.setAktenzeichen(command.getVorgangId(), command.getRelationVersion(), aktenzeichen); + public Vorgang getOriginalVorgangById(String vorgangId) { + return removeUnpermittedClientAttributes(loadById(vorgangId)); } Vorgang removeUnpermittedClientAttributes(Vorgang vorgang) { @@ -199,6 +198,11 @@ public class VorgangService { return Pair.of(entry.getKey(), resultAttributeMap); } + public void setAktenzeichen(Command command) { + var aktenzeichen = StringUtils.trimToNull(MapUtils.getString(command.getBodyObject(), BODY_OBJECT_AKTENZEICHEN)); + repository.setAktenzeichen(command.getVorgangId(), command.getRelationVersion(), aktenzeichen); + } + public void assignToUser(Command command) { var patch = Map.<String, Object>of(Vorgang.MONGODB_FIELDNAME_ASSIGNED_TO, command.getBody().get(BODY_ASSIGNED_TO_FIELD)); diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangServiceTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangServiceTest.java index d23a82274596be343dc089c5a1367637c74e4e88..2a25451185752ed845a10235e4bca87d758a239d 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangServiceTest.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangServiceTest.java @@ -551,6 +551,48 @@ class VorgangServiceTest { } } + @Nested + class TestGetOriginalVorgangById { + + private final static Vorgang VORGANG = VorgangTestFactory.create(); + + @BeforeEach + void init() { + doReturn(VORGANG).when(service).loadById(anyString()); + } + + @Test + void shouldCallLoadById() { + service.getOriginalVorgangById(VorgangTestFactory.ID); + + verify(service).loadById(VorgangTestFactory.ID); + } + + @Test + void shouldCallRemoveUnpermittedClientAttributes() { + service.getOriginalVorgangById(VorgangTestFactory.ID); + + verify(service).removeUnpermittedClientAttributes(VORGANG); + } + + @Test + void shouldNotModifyLabels() { + service.getOriginalVorgangById(VorgangTestFactory.ID); + + verifyNoInteractions(kopControlDataMapper); + } + + @Test + void shouldReturnVorgang() { + var cleanedVorgang = VorgangTestFactory.create(); + doReturn(cleanedVorgang).when(service).removeUnpermittedClientAttributes(any()); + + var result = service.getOriginalVorgangById(VorgangTestFactory.ID); + + assertThat(result).isSameAs(cleanedVorgang); + } + } + @Nested class TestAssignToUser {