Skip to content
Snippets Groups Projects
Commit 1f267006 authored by OZG-Cloud Team's avatar OZG-Cloud Team
Browse files

OZG-6748 Cleanup DFoerdermittelEngineBasedSemantikAdapterTest

parent 308a884a
Branches
Tags
No related merge requests found
...@@ -2,9 +2,9 @@ package de.ozgcloud.eingang.semantik.enginebased.dfoerdermittel; ...@@ -2,9 +2,9 @@ package de.ozgcloud.eingang.semantik.enginebased.dfoerdermittel;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
...@@ -109,17 +109,26 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema ...@@ -109,17 +109,26 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
.orElse(formData); .orElse(formData);
} }
private ZustaendigeStelle addOrganisationsEinheitId(String orgaId, List<ZustaendigeStelle> zustaendigeStelleList) { private ZustaendigeStelle addOrganisationsEinheitId(String orgaId, Collection<ZustaendigeStelle> zustaendigeStelles) {
ZustaendigeStelle.ZustaendigeStelleBuilder zustaendigeStelleBuilder; ZustaendigeStelle.ZustaendigeStelleBuilder zustaendigeStelleBuilder;
if (Objects.isNull(zustaendigeStelleList) || zustaendigeStelleList.isEmpty()) { if (Objects.isNull(zustaendigeStelles) || zustaendigeStelles.isEmpty()) {
zustaendigeStelleBuilder = ZustaendigeStelle.builder(); zustaendigeStelleBuilder = ZustaendigeStelle.builder();
} else { } else {
zustaendigeStelleBuilder = zustaendigeStelleList.getFirst().toBuilder(); var zustaendigeStellesIterator = zustaendigeStelles.iterator();
var zustaendigeStelle = zustaendigeStellesIterator.next();
if (zustaendigeStellesIterator.hasNext()) {
logErrorForMoreThanOneZustaendigeStelle();
}
zustaendigeStelleBuilder = zustaendigeStelle.toBuilder();
} }
return zustaendigeStelleBuilder.organisationseinheitenId(orgaId).build(); return zustaendigeStelleBuilder.organisationseinheitenId(orgaId).build();
} }
void logErrorForMoreThanOneZustaendigeStelle() {
LOG.error("Expect at most one existing ZustaendigeStelle for DFoerdermittel. Continuing by using the first one.");
}
FormData addFormName(FormData formData) { FormData addFormName(FormData formData) {
return mapWithModifiedHeader(formData, headerBuilder -> headerBuilder.formName( return mapWithModifiedHeader(formData, headerBuilder -> headerBuilder.formName(
getNonEmptyFachnachrichtValueByKey(formData, KEY_FORM_NAME) getNonEmptyFachnachrichtValueByKey(formData, KEY_FORM_NAME)
......
...@@ -26,6 +26,7 @@ import de.ozgcloud.eingang.common.formdata.IncomingFile; ...@@ -26,6 +26,7 @@ import de.ozgcloud.eingang.common.formdata.IncomingFile;
import de.ozgcloud.eingang.common.formdata.PostfachAddressTestFactory; import de.ozgcloud.eingang.common.formdata.PostfachAddressTestFactory;
import de.ozgcloud.eingang.common.formdata.ServiceKontoTestFactory; import de.ozgcloud.eingang.common.formdata.ServiceKontoTestFactory;
import de.ozgcloud.eingang.common.formdata.StringBasedIdentifier; import de.ozgcloud.eingang.common.formdata.StringBasedIdentifier;
import de.ozgcloud.eingang.common.formdata.ZustaendigeStelleTestFactory;
import de.ozgcloud.eingang.semantik.common.ServiceKontoFactory; import de.ozgcloud.eingang.semantik.common.ServiceKontoFactory;
class DFoerdermittelEngineBasedSemantikAdapterTest { class DFoerdermittelEngineBasedSemantikAdapterTest {
...@@ -216,12 +217,66 @@ class DFoerdermittelEngineBasedSemantikAdapterTest { ...@@ -216,12 +217,66 @@ class DFoerdermittelEngineBasedSemantikAdapterTest {
@Nested @Nested
class TestAddOrganisationsEinheitId { class TestAddOrganisationsEinheitId {
@DisplayName("with no existing zustaendige stelles")
@Nested
class TestWithNoExistingZustaendigeStelles {
@Test
void shouldHaveOrganisationsEinheitId() {
var inputFormData = DFoerdermittelFormDataTestFactory.createBuilder()
.clearZustaendigeStelles()
.build();
var formData = adapter.addOrganisationsEinheitId(inputFormData);
assertThat(formData.getZustaendigeStelles())
.extracting("organisationseinheitenId")
.containsExactly(ORGANISATIONS_EINHEIT_ID);
}
}
@DisplayName("with one existing zustaendige stelle")
@Nested
class TestWithOneExistingZustaendigeStelle {
@Test @Test
void shouldHaveOrganisationsEinheitId() { void shouldHaveOrganisationsEinheitId() {
var formData = adapter.addOrganisationsEinheitId(DFoerdermittelFormDataTestFactory.create()); var formData = adapter.addOrganisationsEinheitId(DFoerdermittelFormDataTestFactory.create());
var organisationseinheitenId = formData.getZustaendigeStelles().getFirst().getOrganisationseinheitenId(); assertThat(formData.getZustaendigeStelles())
assertThat(organisationseinheitenId).isEqualTo(ORGANISATIONS_EINHEIT_ID); .extracting("organisationseinheitenId")
.containsExactly(ORGANISATIONS_EINHEIT_ID);
}
}
@DisplayName("with two existing zustaendige stelles")
@Nested
class TestWithTwoExistingZustaendigeStelles {
private FormData inputFormData;
@BeforeEach
void setup() {
inputFormData = DFoerdermittelFormDataTestFactory.createBuilder()
.zustaendigeStelle(ZustaendigeStelleTestFactory.create())
.build();
}
@Test
void shouldHaveOrganisationsEinheitId() {
var formData = adapter.addOrganisationsEinheitId(inputFormData);
assertThat(formData.getZustaendigeStelles())
.extracting("organisationseinheitenId")
.containsExactly(ORGANISATIONS_EINHEIT_ID);
}
@DisplayName("should log error for more than one zustaendige stelle")
@Test
void shouldLogErrorForMoreThanOneZustaendigeStelle() {
adapter.addOrganisationsEinheitId(inputFormData);
verify(adapter).logErrorForMoreThanOneZustaendigeStelle();
}
} }
} }
......
...@@ -8,6 +8,7 @@ import java.util.function.Predicate; ...@@ -8,6 +8,7 @@ import java.util.function.Predicate;
import java.util.stream.IntStream; import java.util.stream.IntStream;
import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
import de.ozgcloud.eingang.common.formdata.FormHeaderTestFactory; import de.ozgcloud.eingang.common.formdata.FormHeaderTestFactory;
import lombok.Builder; import lombok.Builder;
...@@ -35,7 +36,7 @@ class DFoerdermittelFormDataTestFactory { ...@@ -35,7 +36,7 @@ class DFoerdermittelFormDataTestFactory {
} }
static FormData.FormDataBuilder createBuilderWithFachnachricht(Fachnachricht fachnachricht) { static FormData.FormDataBuilder createBuilderWithFachnachricht(Fachnachricht fachnachricht) {
return FormData.builder() return FormDataTestFactory.createBuilder()
.header(FormHeaderTestFactory.create()) .header(FormHeaderTestFactory.create())
.formData(Map.of("Fachnachricht", createFachnachrichtMapWithFachnachricht(fachnachricht))); .formData(Map.of("Fachnachricht", createFachnachrichtMapWithFachnachricht(fachnachricht)));
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment