diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/FeatureToggleProperties.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/FeatureToggleProperties.java index 1aaabfc98f32b49742f2f709b6a967f18799242d..f4f9ed3147666758a818a8e00a6ba3150b8d2263 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/FeatureToggleProperties.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/FeatureToggleProperties.java @@ -20,7 +20,7 @@ public class FeatureToggleProperties { private boolean vorgangExport = false; /** - * Enable/Disable Bescheid creation feature + * Enable/Disable Bescheid creation feature. */ private boolean createBescheid = false; } diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangProperties.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangProperties.java new file mode 100644 index 0000000000000000000000000000000000000000..21caca760eaa8e83b9c9af8ec1dfd2b0c6a475e8 --- /dev/null +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangProperties.java @@ -0,0 +1,36 @@ +package de.ozgcloud.alfa.vorgang; + +import java.util.Collections; +import java.util.List; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import lombok.Builder; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Configuration +@ConfigurationProperties(prefix = VorgangProperties.PREFIX) +class VorgangProperties { + + public static final String PREFIX = "ozgcloud.vorgang"; + + /** + * Konfiguriert für welche Art von Anträgen der Button zur Erstellung von Bescheiden angezeigt wird. Der Art eines Antrags wird basierend auf form + * id und form engine name bestimmt. + */ + private List<VorgangProperty> vorgangProperties = Collections.emptyList(); + + @Builder + @Setter + @Getter + static class VorgangProperty { + + private String formId; + private String formEngineName; + + } +} diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessor.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessor.java index 4db632f692b5f54ac348753a93d1e85ba2e8ce30..994cc342ac3629aa81a18845d6e6d04d34cc9ec7 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessor.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessor.java @@ -23,12 +23,14 @@ */ package de.ozgcloud.alfa.vorgang; +import static java.util.Optional.*; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.*; import java.util.Objects; import java.util.Optional; import java.util.function.Predicate; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.Link; @@ -37,7 +39,9 @@ import org.springframework.hateoas.server.RepresentationModelProcessor; import org.springframework.stereotype.Component; import de.ozgcloud.alfa.attachment.AttachmentController; +import de.ozgcloud.alfa.common.FeatureToggleProperties; import de.ozgcloud.alfa.common.ModelBuilder; +import de.ozgcloud.alfa.common.command.CommandController.CommandByRelationController; import de.ozgcloud.alfa.common.user.CurrentUserService; import de.ozgcloud.alfa.common.user.UserManagerUrlProvider; import de.ozgcloud.alfa.common.user.UserRole; @@ -45,6 +49,7 @@ import de.ozgcloud.alfa.historie.HistorieController; import de.ozgcloud.alfa.kommentar.KommentarController.KommentarByVorgangController; import de.ozgcloud.alfa.postfach.PostfachMailController; import de.ozgcloud.alfa.representation.RepresentationController; +import de.ozgcloud.alfa.vorgang.VorgangProperties.VorgangProperty; import de.ozgcloud.alfa.vorgang.forwarding.ForwardingController; @Component @@ -56,11 +61,15 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity static final LinkRelation REL_POSTFACH_MAILS = LinkRelation.of("postfachMails"); static final LinkRelation REL_VORGANG_FORWARDING = LinkRelation.of("forwarding"); static final LinkRelation REL_HISTORIE = LinkRelation.of("historie"); + static final LinkRelation REL_BESCHEID = LinkRelation.of("createBescheid"); static final String REL_SEARCH_USER = "search-user-profiles"; static final String USER_PROFILE_SEARCH_DELETED_PARAM = "deleted"; static final String USER_PROFILE_SEARCH_ORGANISATIONS_EINHEIT_ID_PARAM = "organisationsEinheitId"; + private static final Predicate<EingangHeader> HAS_FORM_ID_WITH_ENGINE_NAME = + eingangHeader -> ObjectUtils.allNotNull(eingangHeader.getFormEngineName(), eingangHeader.getFormId()); + @Autowired private PostfachMailController postfachMailController; @Autowired @@ -68,6 +77,11 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity @Autowired private UserManagerUrlProvider userManagerUrlProvider; + @Autowired + private FeatureToggleProperties featureToggleProperties; + @Autowired + private VorgangProperties vorgangProperties; + private static final Predicate<VorgangWithEingang> HAS_ATTACHMENTS = vorgangWithEingang -> vorgangWithEingang.getEingang() .getNumberOfAttachments() > 0; @@ -98,6 +112,9 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity .addLink(linkTo(methodOn(HistorieController.class).getAll(vorgang.getId())).withRel(REL_HISTORIE)) .ifMatch(() -> userManagerUrlProvider.isConfiguredForSearchUserProfile() && hasOrganisationsEinheitId(vorgang)) .addLink(() -> buildSearchUserProfilesLink(vorgang)) + .ifMatch(() -> isCreateBescheidEnabled(vorgang)) + .addLink(linkTo(methodOn(CommandByRelationController.class).createCommand(vorgang.getId(), vorgang.getId(), vorgang.getVersion(), + null)).withRel(REL_BESCHEID)) .buildModel(); } @@ -123,4 +140,24 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity private String getOrganisationsEinheitId(VorgangWithEingang vorgang) { return vorgang.getEingang().getZustaendigeStelle().getOrganisationseinheitenId(); } + + boolean isCreateBescheidEnabled(VorgangWithEingang vorgang) { + return featureToggleProperties.isCreateBescheid() && hasVorgangCreateBescheidEnabled(vorgang); + } + + boolean hasVorgangCreateBescheidEnabled(VorgangWithEingang vorgang) { + return ofNullable(vorgang.getEingang()) + .map(Eingang::getHeader) + .filter(HAS_FORM_ID_WITH_ENGINE_NAME) + .map(this::isCreateBescheidEnabled) + .orElse(false); + } + + private boolean isCreateBescheidEnabled(EingangHeader eingangHeader) { + return vorgangProperties.getVorgangProperties().stream().filter(prop -> isFormIdAndFormEngineNameMatching(eingangHeader, prop)).count() > 0; + } + + private boolean isFormIdAndFormEngineNameMatching(EingangHeader eingangHeader, VorgangProperty prop) { + return prop.getFormId().equals(eingangHeader.getFormId()) && prop.getFormEngineName().equals(eingangHeader.getFormEngineName()); + } } \ No newline at end of file diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/command/VorgangWithEingangCommandProzessor.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/command/VorgangWithEingangCommandProzessor.java index 8aac520aebada2edea43b529e228eb7a74e2aa4d..8e12c1ba7725f548a7bce67b1347786e7a7b0795 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/command/VorgangWithEingangCommandProzessor.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/command/VorgangWithEingangCommandProzessor.java @@ -33,7 +33,6 @@ import org.springframework.hateoas.LinkRelation; import org.springframework.hateoas.server.RepresentationModelProcessor; import org.springframework.stereotype.Component; -import de.ozgcloud.alfa.common.FeatureToggleProperties; import de.ozgcloud.alfa.common.ModelBuilder; import de.ozgcloud.alfa.common.command.CommandController; import de.ozgcloud.alfa.common.command.CommandController.CommandByRelationController; @@ -48,7 +47,6 @@ public class VorgangWithEingangCommandProzessor implements RepresentationModelPr static final LinkRelation REL_VORGANG_FORWARD = LinkRelation.of("forward"); static final LinkRelation REL_PENDING_COMMANDS = LinkRelation.of("pending-commands"); - static final LinkRelation REL_BESCHEID = LinkRelation.of("createBescheid"); @Autowired private CurrentUserService userService; @@ -57,9 +55,6 @@ public class VorgangWithEingangCommandProzessor implements RepresentationModelPr @Autowired private CommandController commandController; - @Autowired - private FeatureToggleProperties featureToggle; - @Override public EntityModel<VorgangWithEingang> process(EntityModel<VorgangWithEingang> model) { var vorgang = model.getContent(); @@ -73,17 +68,14 @@ public class VorgangWithEingangCommandProzessor implements RepresentationModelPr null)).withRel(REL_VORGANG_FORWARD)) .ifMatch(this::existsPendingCommands) .addLink(linkTo(methodOn(CommandController.class).getPendingCommands(true, vorgang.getId())).withRel(REL_PENDING_COMMANDS)) - .ifMatch(() -> featureToggle.isCreateBescheid()) - .addLink(linkTo(methodOn(CommandByRelationController.class).createCommand(vorgang.getId(), vorgang.getId(), vorgang.getVersion(), - null)).withRel(REL_BESCHEID)) .buildModel(); } boolean isForwardingAllowed(VorgangWithEingang vorgang) { return userService.hasRole(UserRole.EINHEITLICHER_ANSPRECHPARTNER) && (vorgang.getStatus() == VorgangStatus.NEU - || (vorgang.getStatus() == VorgangStatus.IN_BEARBEITUNG - && hasForwardingFailed(vorgang))); + || (vorgang.getStatus() == VorgangStatus.IN_BEARBEITUNG + && hasForwardingFailed(vorgang))); } private boolean hasForwardingFailed(VorgangWithEingang vorgang) { diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/EingangHeaderTestFactory.java b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/EingangHeaderTestFactory.java index cb7cde735df4f3d45b8615fb6dc17dfc53732ee2..12e4e885ceaaedd594d36bdbc5181e48bfe61fe6 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/EingangHeaderTestFactory.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/EingangHeaderTestFactory.java @@ -30,12 +30,13 @@ public class EingangHeaderTestFactory { public static final String CREATED_AT_STR = "2020-01-10T10:30:00Z"; public static final ZonedDateTime CREATED_AT = ZonedDateTime.parse(CREATED_AT_STR); public static final String FORM_ENGINE_NAME = "AFM"; + public static final String FORM_ID = "test-form-id"; public static EingangHeader create() { return createBuilder().build(); } public static EingangHeader.EingangHeaderBuilder createBuilder() { - return EingangHeader.builder().createdAt(CREATED_AT).formEngineName(FORM_ENGINE_NAME); + return EingangHeader.builder().createdAt(CREATED_AT).formEngineName(FORM_ENGINE_NAME).formId(FORM_ID); } } \ No newline at end of file diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangPropertyTestFactory.java b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangPropertyTestFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..4886c79aceafd2b31cfc686644538322b85d50c7 --- /dev/null +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangPropertyTestFactory.java @@ -0,0 +1,17 @@ +package de.ozgcloud.alfa.vorgang; + +import de.ozgcloud.alfa.vorgang.VorgangProperties.VorgangProperty; + +public class VorgangPropertyTestFactory { + + public static VorgangProperty create() { + return createBuilder().build(); + } + + public static VorgangProperty.VorgangPropertyBuilder createBuilder() { + return VorgangProperty.builder() + .formEngineName(EingangHeaderTestFactory.FORM_ENGINE_NAME) + .formId(EingangHeaderTestFactory.FORM_ID); + } + +} diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java index 3e4f937b21114b15174a0b3381910d680279a84e..f11eaa788f6cc9ab6ee715c68afb7b0998becb6a 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java @@ -27,6 +27,9 @@ import static de.ozgcloud.alfa.common.UserProfileUrlProviderTestFactory.*; import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; +import java.util.Collections; +import java.util.List; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; @@ -35,11 +38,13 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.EnumSource; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.Spy; import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.Link; import org.springframework.hateoas.LinkRelation; import org.springframework.web.util.UriComponentsBuilder; +import de.ozgcloud.alfa.common.FeatureToggleProperties; import de.ozgcloud.alfa.common.UserProfileUrlProvider; import de.ozgcloud.alfa.common.user.CurrentUserService; import de.ozgcloud.alfa.common.user.UserManagerUrlProvider; @@ -49,6 +54,7 @@ import de.ozgcloud.alfa.vorgang.Vorgang.VorgangStatus; class VorgangWithEingangProzessorTest { + @Spy @InjectMocks private VorgangWithEingangProzessor processor; @Mock @@ -58,12 +64,13 @@ class VorgangWithEingangProzessorTest { @Mock private UserManagerUrlProvider userManagerUrlProvider; - private UserProfileUrlProvider urlProvider = new UserProfileUrlProvider(); + @Mock + private FeatureToggleProperties featureToggleProperties; - @BeforeEach - void init() { - initUserProfileUrlProvider(urlProvider); - } + @Mock + private VorgangProperties vorgangProperties; + + private UserProfileUrlProvider urlProvider = new UserProfileUrlProvider(); @Nested class TestAttachmentsLink { @@ -213,6 +220,11 @@ class VorgangWithEingangProzessorTest { @Nested class TestSearchUserProfileLink { + @BeforeEach + void init() { + initUserProfileUrlProvider(urlProvider); + } + @DisplayName("on configured for search user profile") @Nested class TestIsConfigured { @@ -273,4 +285,218 @@ class VorgangWithEingangProzessorTest { return VorgangWithEingangTestFactory.createBuilder().eingang(eingang).build(); } } + + @Nested + class TestHasVorgangCreateBescheidEnabled { + + @Nested + class TestOnEmptyBescheidProperties { + + @BeforeEach + void setUp() { + when(vorgangProperties.getVorgangProperties()).thenReturn(Collections.emptyList()); + } + + @Test + void shouldReturnFalse() { + var hasEnabled = callProcessor(VorgangWithEingangTestFactory.create()); + + assertThat(hasEnabled).isFalse(); + } + + } + + @Nested + class TestOnBescheidPropertiesSet { + + @BeforeEach + void setUp() { + when(vorgangProperties.getVorgangProperties()).thenReturn(List.of(VorgangPropertyTestFactory.create())); + } + + @Test + void shouldReturnFalseIfFormEngineNameNotEquals() { + var vorgang = createVorgang(EingangTestFactory.createBuilder() + .header(EingangHeaderTestFactory.createBuilder() + .formEngineName("different").build()) + .build()); + + var hasEnabled = callProcessor(vorgang); + + assertThat(hasEnabled).isFalse(); + } + + @Test + void shouldReturnTrue() { + var hasEnabled = callProcessor(VorgangWithEingangTestFactory.create()); + + assertThat(hasEnabled).isTrue(); + } + } + + @Test + void shouldReturnFalseOnEmptyEingang() { + var vorgangWithEmptyEingang = createVorgang(null); + + var hasEnabled = callProcessor(vorgangWithEmptyEingang); + + assertThat(hasEnabled).isFalse(); + } + + @Test + void shouldReturnFalseOnEmptyEingangHeader() { + var vorgangWithEmptyEingangHeader = EingangTestFactory.createBuilder().header(null).build(); + + var hasEnabled = callProcessor(createVorgang(vorgangWithEmptyEingangHeader)); + + assertThat(hasEnabled).isFalse(); + } + + @Test + void shouldReturnFalseOnEmptyFormEngineName() { + var vorgangWithEmptyFormEngineName = createVorgang( + EingangTestFactory.createBuilder().header(EingangHeaderTestFactory.createBuilder().formEngineName(null).build()).build()); + + var hasEnabled = callProcessor(vorgangWithEmptyFormEngineName); + + assertThat(hasEnabled).isFalse(); + } + + @Test + void shouldReturnFalseOnEmptyFormId() { + var vorgangWithEmptyFormId = createVorgang( + EingangTestFactory.createBuilder().header(EingangHeaderTestFactory.createBuilder().formId(null).build()).build()); + + var hasEnabled = callProcessor(vorgangWithEmptyFormId); + + assertThat(hasEnabled).isFalse(); + } + + private boolean callProcessor(VorgangWithEingang vorgang) { + return processor.hasVorgangCreateBescheidEnabled(vorgang); + } + + private VorgangWithEingang createVorgang(Eingang eingang) { + return VorgangWithEingangTestFactory.createBuilder().eingang(eingang).build(); + } + + } + + @Nested + class TestIsCreateBescheidEnabled { + + @Nested + class TestFeatureToggleDisabled { + + @BeforeEach + void setUp() { + when(featureToggleProperties.isCreateBescheid()).thenReturn(false); + } + + @Test + void shouldCallFeatureToggleProperties() { + callProcessor(VorgangWithEingangTestFactory.create()); + + verify(featureToggleProperties).isCreateBescheid(); + } + + @Test + void shouldNotCallHasVorgangCreateBescheidEnabled() { + var vorgang = VorgangWithEingangTestFactory.create(); + + callProcessor(vorgang); + + verify(processor, never()).hasVorgangCreateBescheidEnabled(vorgang); + } + + @Test + void shouldReturnFalse() { + var isEnabled = callProcessor(VorgangWithEingangTestFactory.create()); + + assertThat(isEnabled).isFalse(); + } + } + + @Nested + class TestFeatureToggleEnabled { + + private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create(); + + @BeforeEach + void setUp() { + when(featureToggleProperties.isCreateBescheid()).thenReturn(true); + } + + @Test + void shouldCallFeatureToggleProperties() { + callProcessor(vorgang); + + verify(featureToggleProperties).isCreateBescheid(); + } + + @Test + void shouldCallHasVorgangCreateBescheidEnabled() { + callProcessor(vorgang); + + verify(processor).hasVorgangCreateBescheidEnabled(vorgang); + } + + @Test + void shouldReturnTrue() { + doReturn(true).when(processor).hasVorgangCreateBescheidEnabled(vorgang); + + var isEnabled = callProcessor(vorgang); + + assertThat(isEnabled).isTrue(); + } + + @Test + void shouldReturnFalse() { + doReturn(false).when(processor).hasVorgangCreateBescheidEnabled(vorgang); + + var isEnabled = callProcessor(vorgang); + + assertThat(isEnabled).isFalse(); + } + } + + private boolean callProcessor(VorgangWithEingang vorgang) { + return processor.isCreateBescheidEnabled(vorgang); + } + + } + + @Nested + class TestCreateBescheidLink { + + private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create(); + private final EntityModel<VorgangWithEingang> vorgangEntityModel = EntityModel.of(vorgang); + + @BeforeEach + void activateFeature() { + initUserProfileUrlProvider(urlProvider); + } + + @Test + void shouldHaveCreateBescheidLink() { + doReturn(true).when(processor).isCreateBescheidEnabled(vorgang); + + var processed = processor.process(vorgangEntityModel); + + assertThat(processed.getLink(VorgangWithEingangProzessor.REL_BESCHEID)).isPresent().get() + .extracting(Link::getHref) + .isEqualTo("/api/vorgangs/" + VorgangHeaderTestFactory.ID + "/relations/" + VorgangHeaderTestFactory.ID + "/" + + VorgangHeaderTestFactory.VERSION + "/commands"); + } + + @Test + void shouldHaveNoLinkIfDisabled() { + doReturn(false).when(processor).isCreateBescheidEnabled(vorgang); + + var processed = processor.process(vorgangEntityModel); + + assertThat(processed.getLink(VorgangWithEingangProzessor.REL_BESCHEID)).isEmpty(); + } + } + } \ No newline at end of file diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/command/VorgangWithEingangCommandProzessorTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/command/VorgangWithEingangCommandProzessorTest.java index 275e8d60146a9bcb1544578e79bf6ab44e80790d..a7eefd62cb52822bb2b3ce89906cbe4a059922f1 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/command/VorgangWithEingangCommandProzessorTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/command/VorgangWithEingangCommandProzessorTest.java @@ -44,7 +44,6 @@ import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.Link; import org.springframework.hateoas.LinkRelation; -import de.ozgcloud.alfa.common.FeatureToggleProperties; import de.ozgcloud.alfa.common.UserProfileUrlProvider; import de.ozgcloud.alfa.common.command.CommandController; import de.ozgcloud.alfa.common.user.CurrentUserService; @@ -68,9 +67,6 @@ class VorgangWithEingangCommandProzessorTest { @Mock private ForwardingController forwardingController; - @Mock - private FeatureToggleProperties featureToggle; - private VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create(); private EntityModel<VorgangWithEingang> vorgangEntityModel = EntityModel.of(vorgang); @@ -227,33 +223,4 @@ class VorgangWithEingangCommandProzessorTest { .isEqualTo("/api/commands?pending=true&vorgangId=" + VorgangHeaderTestFactory.ID); } } - - @Nested - class TestCreateBescheidLink { - - @BeforeEach - void activateFeature() { - when(featureToggle.isCreateBescheid()).thenReturn(true); - initUserProfileUrlProvider(urlProvider); - } - - @Test - void shouldHaveCreateBescheidLink() { - var processed = processor.process(vorgangEntityModel); - - assertThat(processed.getLink(VorgangWithEingangCommandProzessor.REL_BESCHEID)).isPresent().get() - .extracting(Link::getHref) - .isEqualTo("/api/vorgangs/" + VorgangHeaderTestFactory.ID + "/relations/" + VorgangHeaderTestFactory.ID + "/" - + VorgangHeaderTestFactory.VERSION + "/commands"); - } - - @Test - void shouldHaveNoLinkIfDisabled() { - when(featureToggle.isCreateBescheid()).thenReturn(false); - - var processed = processor.process(vorgangEntityModel); - - assertThat(processed.getLink(VorgangWithEingangCommandProzessor.REL_BESCHEID)).isEmpty(); - } - } } \ No newline at end of file