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;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
......@@ -109,17 +109,26 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
.orElse(formData);
}
private ZustaendigeStelle addOrganisationsEinheitId(String orgaId, List<ZustaendigeStelle> zustaendigeStelleList) {
private ZustaendigeStelle addOrganisationsEinheitId(String orgaId, Collection<ZustaendigeStelle> zustaendigeStelles) {
ZustaendigeStelle.ZustaendigeStelleBuilder zustaendigeStelleBuilder;
if (Objects.isNull(zustaendigeStelleList) || zustaendigeStelleList.isEmpty()) {
if (Objects.isNull(zustaendigeStelles) || zustaendigeStelles.isEmpty()) {
zustaendigeStelleBuilder = ZustaendigeStelle.builder();
} 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();
}
void logErrorForMoreThanOneZustaendigeStelle() {
LOG.error("Expect at most one existing ZustaendigeStelle for DFoerdermittel. Continuing by using the first one.");
}
FormData addFormName(FormData formData) {
return mapWithModifiedHeader(formData, headerBuilder -> headerBuilder.formName(
getNonEmptyFachnachrichtValueByKey(formData, KEY_FORM_NAME)
......
......@@ -26,6 +26,7 @@ import de.ozgcloud.eingang.common.formdata.IncomingFile;
import de.ozgcloud.eingang.common.formdata.PostfachAddressTestFactory;
import de.ozgcloud.eingang.common.formdata.ServiceKontoTestFactory;
import de.ozgcloud.eingang.common.formdata.StringBasedIdentifier;
import de.ozgcloud.eingang.common.formdata.ZustaendigeStelleTestFactory;
import de.ozgcloud.eingang.semantik.common.ServiceKontoFactory;
class DFoerdermittelEngineBasedSemantikAdapterTest {
......@@ -216,12 +217,66 @@ class DFoerdermittelEngineBasedSemantikAdapterTest {
@Nested
class TestAddOrganisationsEinheitId {
@Test
void shouldHaveOrganisationsEinheitId() {
var formData = adapter.addOrganisationsEinheitId(DFoerdermittelFormDataTestFactory.create());
var organisationseinheitenId = formData.getZustaendigeStelles().getFirst().getOrganisationseinheitenId();
assertThat(organisationseinheitenId).isEqualTo(ORGANISATIONS_EINHEIT_ID);
@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
void shouldHaveOrganisationsEinheitId() {
var formData = adapter.addOrganisationsEinheitId(DFoerdermittelFormDataTestFactory.create());
assertThat(formData.getZustaendigeStelles())
.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;
import java.util.stream.IntStream;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
import de.ozgcloud.eingang.common.formdata.FormHeaderTestFactory;
import lombok.Builder;
......@@ -35,7 +36,7 @@ class DFoerdermittelFormDataTestFactory {
}
static FormData.FormDataBuilder createBuilderWithFachnachricht(Fachnachricht fachnachricht) {
return FormData.builder()
return FormDataTestFactory.createBuilder()
.header(FormHeaderTestFactory.create())
.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