From ca07d45cb6eaf22058811ac6f341bdda344fbac6 Mon Sep 17 00:00:00 2001 From: "Zickermann, Jan" <jan.zickermann@dataport.de> Date: Thu, 4 Jul 2024 11:40:04 +0200 Subject: [PATCH] OZG-5776 xta-adapter: Reuse XtaMessageMapper for fim --- .../eingang/fim/FimMessageMapper.java | 43 -------------- .../eingang/fim/FimXtaMessageHandler.java | 19 ++++++- .../eingang/xdomea/XdomeaMessageData.java | 2 +- .../xdomea/XdomeaXtaMessageHandler.java | 23 +++++++- .../xta/RepresentationsAttachmentsPair.java | 14 +++++ .../{xdomea => xta}/XtaMessageMapper.java | 28 +++------- .../eingang/fim/FimXtaMessageHandlerTest.java | 46 ++++++++++++++- .../xdomea/XdomeaXtaMessageHandlerTest.java | 56 ++++++++++++++++++- ...esentationsAttachmentsPairTestFactory.java | 32 +++++++++++ .../{xdomea => xta}/XtaMessageMapperTest.java | 23 ++++---- 10 files changed, 201 insertions(+), 85 deletions(-) delete mode 100644 xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimMessageMapper.java create mode 100644 xta-adapter/src/main/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPair.java rename xta-adapter/src/main/java/de/ozgcloud/eingang/{xdomea => xta}/XtaMessageMapper.java (61%) create mode 100644 xta-adapter/src/test/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPairTestFactory.java rename xta-adapter/src/test/java/de/ozgcloud/eingang/{xdomea => xta}/XtaMessageMapperTest.java (64%) diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimMessageMapper.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimMessageMapper.java deleted file mode 100644 index 5547fcee5..000000000 --- a/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimMessageMapper.java +++ /dev/null @@ -1,43 +0,0 @@ -package de.ozgcloud.eingang.fim; - -import java.util.Collection; -import java.util.Collections; - -import org.springframework.stereotype.Component; - -import de.ozgcloud.eingang.common.formdata.FormData; -import de.ozgcloud.eingang.common.formdata.FormHeader; -import de.ozgcloud.eingang.common.formdata.IncomingFile; -import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; -import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle; -import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; -import de.ozgcloud.eingang.xta.XtaMessageMetaData; - -@Component -public class FimMessageMapper { - private static final int VORGANG_NUMMER_SUFFIX_LENGTH = 4; - - /* - * FIXME: This is only a quick and dirty implementation for a fim message mapper - */ - public FormData toFormData(final XtaMessageMetaData metaData, final VorgangNummerSupplier vorgangNummerSupplier, - final Collection<IncomingFile> incomingFileList) { - return FormData.builder() - .header(FormHeader.builder() - .formId(metaData.getMessageType()) - .requestId(metaData.getMessageId().toString()) - .createdAt(metaData.getOrigin()) - .vorgangNummer(vorgangNummerSupplier.get(VORGANG_NUMMER_SUFFIX_LENGTH)) - .sender("XTA") - .build()) - .zustaendigeStelle(ZustaendigeStelle.builder() - .organisationseinheitenId("0") - .build()) - .numberOfAttachments(incomingFileList.size()) - .attachments(Collections.singleton(IncomingFileGroup.builder() - .name("fim_files") - .files(incomingFileList) - .build())) - .build(); - } -} diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimXtaMessageHandler.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimXtaMessageHandler.java index 53bcc1426..a47b8743b 100644 --- a/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimXtaMessageHandler.java +++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimXtaMessageHandler.java @@ -1,5 +1,7 @@ package de.ozgcloud.eingang.fim; +import static java.util.Collections.*; + import java.util.List; import org.apache.commons.lang3.StringUtils; @@ -9,7 +11,9 @@ import org.springframework.stereotype.Component; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; +import de.ozgcloud.eingang.xta.RepresentationsAttachmentsPair; import de.ozgcloud.eingang.xta.XtaMessageHandler; +import de.ozgcloud.eingang.xta.XtaMessageMapper; import de.ozgcloud.eingang.xta.XtaMessageMetaData; @Component @@ -17,14 +21,25 @@ public class FimXtaMessageHandler implements XtaMessageHandler { static final String ALL_FIM_MESSAGES_PREFIX = "fim."; @Autowired - private FimMessageMapper fimMessageMapper; + private XtaMessageMapper xtaMessageMapper; @Autowired private VorgangNummerSupplier vorgangNummerSupplier; @Override public FormData getFormData(XtaMessageMetaData xtaMessageMetaData, List<IncomingFile> incomingFiles) { - return fimMessageMapper.toFormData(xtaMessageMetaData, vorgangNummerSupplier, incomingFiles); + return xtaMessageMapper.toFormData( + getRepresentationsAttachmentsPair(incomingFiles), + xtaMessageMetaData, + vorgangNummerSupplier + ); + } + + RepresentationsAttachmentsPair getRepresentationsAttachmentsPair(List<IncomingFile> incomingFiles) { + return RepresentationsAttachmentsPair.builder() + .representations(incomingFiles) + .attachments(emptyList()) + .build(); } @Override diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XdomeaMessageData.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XdomeaMessageData.java index 432b06c52..ac98f8eee 100644 --- a/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XdomeaMessageData.java +++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XdomeaMessageData.java @@ -8,7 +8,7 @@ import lombok.Builder; import lombok.Singular; @Builder -public record XdomeaMessageData( +record XdomeaMessageData( IncomingFile metadataFile, List<IncomingFile> representations, @Singular diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XdomeaXtaMessageHandler.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XdomeaXtaMessageHandler.java index 382ac8247..273d3bfe1 100644 --- a/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XdomeaXtaMessageHandler.java +++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XdomeaXtaMessageHandler.java @@ -1,6 +1,7 @@ package de.ozgcloud.eingang.xdomea; import java.util.List; +import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -9,7 +10,9 @@ import org.springframework.stereotype.Component; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; +import de.ozgcloud.eingang.xta.RepresentationsAttachmentsPair; import de.ozgcloud.eingang.xta.XtaMessageHandler; +import de.ozgcloud.eingang.xta.XtaMessageMapper; import de.ozgcloud.eingang.xta.XtaMessageMetaData; @Component @@ -27,8 +30,26 @@ public class XdomeaXtaMessageHandler implements XtaMessageHandler { @Override public FormData getFormData(XtaMessageMetaData xtaMessageMetaData, List<IncomingFile> incomingFiles) { + return xtaMessageMapper.toFormData( + getRepresentationsAttachmentsPair(incomingFiles), + xtaMessageMetaData, + vorgangNummerSupplier + ); + } + + RepresentationsAttachmentsPair getRepresentationsAttachmentsPair(List<IncomingFile> incomingFiles) { var xdomeaMessageData = xdomeaMessageDataMapper.mapIncomingFilesToXdomeaMessageData(incomingFiles); - return xtaMessageMapper.toFormData(xdomeaMessageData, xtaMessageMetaData, vorgangNummerSupplier); + return RepresentationsAttachmentsPair.builder() + .representations(getRepresentations(xdomeaMessageData)) + .attachments(xdomeaMessageData.attachments()) + .build(); + } + + private List<IncomingFile> getRepresentations(XdomeaMessageData xdomeaMessageData) { + return Stream.concat( + Stream.of(xdomeaMessageData.metadataFile()), + xdomeaMessageData.representations().stream() + ).toList(); } @Override diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPair.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPair.java new file mode 100644 index 000000000..0639e78e5 --- /dev/null +++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPair.java @@ -0,0 +1,14 @@ +package de.ozgcloud.eingang.xta; + +import java.util.List; + +import de.ozgcloud.eingang.common.formdata.IncomingFile; +import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; +import lombok.Builder; + +@Builder +public record RepresentationsAttachmentsPair( + List<IncomingFile> representations, + List<IncomingFileGroup> attachments +) { +} diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XtaMessageMapper.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java similarity index 61% rename from xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XtaMessageMapper.java rename to xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java index 61ad8a17c..cd88acd19 100644 --- a/xta-adapter/src/main/java/de/ozgcloud/eingang/xdomea/XtaMessageMapper.java +++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java @@ -1,7 +1,4 @@ -package de.ozgcloud.eingang.xdomea; - -import java.util.List; -import java.util.stream.Stream; +package de.ozgcloud.eingang.xta; import org.mapstruct.Context; import org.mapstruct.Mapper; @@ -9,14 +6,11 @@ import org.mapstruct.Mapping; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormHeader; -import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; import de.ozgcloud.eingang.semantik.enginebased.FilesMapperHelper; -import de.ozgcloud.eingang.xta.XtaMessageId; -import de.ozgcloud.eingang.xta.XtaMessageMetaData; @Mapper(imports = FilesMapperHelper.class) -interface XtaMessageMapper { +public interface XtaMessageMapper { int VORGANG_NUMMER_SUFFIX_LENGTH = 4; @Mapping(target = "antragsteller", ignore = true) @@ -24,19 +18,15 @@ interface XtaMessageMapper { @Mapping(target = "id", ignore = true) @Mapping(target = "zustaendigeStelle", ignore = true) @Mapping(target = "header", source = "metaData") - @Mapping(target = "numberOfAttachments", expression = "java(FilesMapperHelper.countAttachedFiles(xdomeaMessageData.attachments()))") - @Mapping(target = "numberOfRepresentations", dependsOn = "representations", expression = "java(getRepresentations(xdomeaMessageData).size())") - @Mapping(target = "representations", source = "xdomeaMessageData") + @Mapping(target = "numberOfAttachments", expression = "java(FilesMapperHelper.countAttachedFiles(representationsAttachmentsPair.attachments()))") + @Mapping(target = "numberOfRepresentations", expression = "java(representationsAttachmentsPair.representations().size())") @Mapping(target = "representation", ignore = true) @Mapping(target = "attachment", ignore = true) - FormData toFormData(XdomeaMessageData xdomeaMessageData, XtaMessageMetaData metaData, @Context VorgangNummerSupplier vorgangNummerSupplier); - - default List<IncomingFile> getRepresentations(XdomeaMessageData xdomeaMessageData) { - return Stream.concat( - Stream.of(xdomeaMessageData.metadataFile()), - xdomeaMessageData.representations().stream() - ).toList(); - } + FormData toFormData( + RepresentationsAttachmentsPair representationsAttachmentsPair, + XtaMessageMetaData metaData, + @Context VorgangNummerSupplier vorgangNummerSupplier + ); @Mapping(target = "formId", source = "messageType") @Mapping(target = "requestId", source = "messageId") diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java index 82584e360..c7c68852d 100644 --- a/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java +++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java @@ -5,6 +5,7 @@ import static org.mockito.Mockito.*; import java.util.List; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -15,6 +16,8 @@ import org.mockito.Spy; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; +import de.ozgcloud.eingang.xta.RepresentationsAttachmentsPair; +import de.ozgcloud.eingang.xta.XtaMessageMapper; import de.ozgcloud.eingang.xta.XtaMessageMetaData; class FimXtaMessageHandlerTest { @@ -24,7 +27,7 @@ class FimXtaMessageHandlerTest { private FimXtaMessageHandler handler; @Mock - private FimMessageMapper fimMessageMapper; + private XtaMessageMapper xtaMessageMapper; @Mock private VorgangNummerSupplier vorgangNummerSupplier; @@ -32,6 +35,9 @@ class FimXtaMessageHandlerTest { @Mock private XtaMessageMetaData xtaMessageMetaData; + @Mock + private RepresentationsAttachmentsPair representationsAttachmentsPair; + @DisplayName("get form data") @Nested class TestGetFormData { @@ -39,14 +45,14 @@ class FimXtaMessageHandlerTest { @Mock private List<IncomingFile> incomingFiles; - @Mock private FormData formData; @DisplayName("should return form data") @Test void shouldReturnFormData() { - when(fimMessageMapper.toFormData(xtaMessageMetaData, vorgangNummerSupplier, incomingFiles)).thenReturn(formData); + doReturn(representationsAttachmentsPair).when(handler).getRepresentationsAttachmentsPair(incomingFiles); + when(xtaMessageMapper.toFormData(representationsAttachmentsPair, xtaMessageMetaData, vorgangNummerSupplier)).thenReturn(formData); var result = handler.getFormData(xtaMessageMetaData, incomingFiles); @@ -54,6 +60,40 @@ class FimXtaMessageHandlerTest { } } + @DisplayName("get representations attachments pair") + @Nested + class TestGetRepresentationsAttachmentsPair { + + @Mock + private IncomingFile incomingFile1; + + @Mock + private IncomingFile incomingFile2; + + private List<IncomingFile> incomingFiles; + + @BeforeEach + void mock() { + incomingFiles = List.of(incomingFile1, incomingFile2); + } + + @DisplayName("should return representations") + @Test + void shouldReturnRepresentations() { + var result = handler.getRepresentationsAttachmentsPair(incomingFiles); + + assertThat(result.representations()).containsExactly(incomingFile1, incomingFile2); + } + + @DisplayName("should return empty attachments") + @Test + void shouldReturnEmptyAttachments() { + var result = handler.getRepresentationsAttachmentsPair(incomingFiles); + + assertThat(result.attachments()).isEmpty(); + } + } + @DisplayName("is responsible") @Nested class TestIsResponsible { diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xdomea/XdomeaXtaMessageHandlerTest.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xdomea/XdomeaXtaMessageHandlerTest.java index ce0ac7066..9465accb1 100644 --- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xdomea/XdomeaXtaMessageHandlerTest.java +++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xdomea/XdomeaXtaMessageHandlerTest.java @@ -5,6 +5,7 @@ import static org.mockito.Mockito.*; import java.util.List; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -15,6 +16,8 @@ import org.mockito.Spy; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; +import de.ozgcloud.eingang.xta.RepresentationsAttachmentsPair; +import de.ozgcloud.eingang.xta.XtaMessageMapper; import de.ozgcloud.eingang.xta.XtaMessageMetaData; class XdomeaXtaMessageHandlerTest { @@ -43,7 +46,7 @@ class XdomeaXtaMessageHandlerTest { private List<IncomingFile> incomingFiles; @Mock - private XdomeaMessageData xdomeaMessageData; + private RepresentationsAttachmentsPair representationsAttachmentsPair; @Mock private FormData formData; @@ -51,8 +54,12 @@ class XdomeaXtaMessageHandlerTest { @DisplayName("should map to form data") @Test void shouldMapToFormData() { - when(xdomeaMessageDataMapper.mapIncomingFilesToXdomeaMessageData(incomingFiles)).thenReturn(xdomeaMessageData); - when(xtaMessageMapper.toFormData(xdomeaMessageData, xtaMessageMetaData, vorgangNummerSupplier)).thenReturn(formData); + doReturn(representationsAttachmentsPair).when(handler).getRepresentationsAttachmentsPair(incomingFiles); + when(xtaMessageMapper.toFormData( + representationsAttachmentsPair, + xtaMessageMetaData, + vorgangNummerSupplier + )).thenReturn(formData); var result = handler.getFormData(xtaMessageMetaData, incomingFiles); @@ -60,6 +67,49 @@ class XdomeaXtaMessageHandlerTest { } } + @DisplayName("get representations attachments pair") + @Nested + class TestGetRepresentationsAttachmentsPair { + @Mock + private List<IncomingFile> incomingFiles; + + private XdomeaMessageData xdomeaMessageData; + + @Mock + private IncomingFile incomingFile1; + + @Mock + private IncomingFile incomingFile2; + + @BeforeEach + void mock() { + xdomeaMessageData = XdomeaMessageDataTestFactory.createBuilder() + .representations(List.of(incomingFile1, incomingFile2)) + .build(); + when(xdomeaMessageDataMapper.mapIncomingFilesToXdomeaMessageData(incomingFiles)).thenReturn(xdomeaMessageData); + } + + @DisplayName("should return representations") + @Test + void shouldReturnRepresentations() { + var result = handler.getRepresentationsAttachmentsPair(incomingFiles); + + assertThat(result.representations()).containsExactly( + xdomeaMessageData.metadataFile(), + incomingFile1, + incomingFile2 + ); + } + + @DisplayName("should return attachments") + @Test + void shouldReturnAttachments() { + var result = handler.getRepresentationsAttachmentsPair(incomingFiles); + + assertThat(result.attachments()).isEqualTo(xdomeaMessageData.attachments()); + } + } + @DisplayName("is responsible") @Nested class TestIsResponsible { diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPairTestFactory.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPairTestFactory.java new file mode 100644 index 000000000..394521419 --- /dev/null +++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPairTestFactory.java @@ -0,0 +1,32 @@ +package de.ozgcloud.eingang.xta; + +import java.util.List; + +import de.ozgcloud.eingang.common.formdata.IncomingFile; +import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; +import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory; +import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory; + +class RepresentationsAttachmentsPairTestFactory { + + static List<IncomingFile> PAIR_REPRESENTATIONS = List.of( + IncomingFileTestFactory.createBuilder().name("representation1.xml").build(), + IncomingFileTestFactory.createBuilder().name("representation1.pdf").build() + ); + + static List<IncomingFileGroup> PAIR_ATTACHMENTS = List.of( + IncomingFileGroupTestFactory.create(), + IncomingFileGroupTestFactory.create(), + IncomingFileGroupTestFactory.create() + ); + + static RepresentationsAttachmentsPair create() { + return createBuilder().build(); + } + + static RepresentationsAttachmentsPair.RepresentationsAttachmentsPairBuilder createBuilder() { + return RepresentationsAttachmentsPair.builder() + .representations(PAIR_REPRESENTATIONS) + .attachments(PAIR_ATTACHMENTS); + } +} diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xdomea/XtaMessageMapperTest.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java similarity index 64% rename from xta-adapter/src/test/java/de/ozgcloud/eingang/xdomea/XtaMessageMapperTest.java rename to xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java index 30438a770..4968ea96d 100644 --- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xdomea/XtaMessageMapperTest.java +++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java @@ -1,6 +1,7 @@ -package de.ozgcloud.eingang.xdomea; +package de.ozgcloud.eingang.xta; -import static de.ozgcloud.eingang.xdomea.XtaMessageMapper.*; +import static de.ozgcloud.eingang.xta.RepresentationsAttachmentsPairTestFactory.*; +import static de.ozgcloud.eingang.xta.XtaMessageMapper.*; import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; @@ -14,9 +15,6 @@ import org.mockito.Spy; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; -import de.ozgcloud.eingang.xta.FormHeaderTestFactory; -import de.ozgcloud.eingang.xta.XtaMessageMetaData; -import de.ozgcloud.eingang.xta.XtaMessageMetaDataTestFactory; class XtaMessageMapperTest { @@ -31,12 +29,12 @@ class XtaMessageMapperTest { class TestToFormData { private XtaMessageMetaData xtaMessageMetaData; - private XdomeaMessageData xdomeaMessageData; + private RepresentationsAttachmentsPair representationsAttachmentsPair; @BeforeEach void mock() { xtaMessageMetaData = XtaMessageMetaDataTestFactory.create(); - xdomeaMessageData = XdomeaMessageDataTestFactory.create(); + representationsAttachmentsPair = RepresentationsAttachmentsPairTestFactory.create(); when(vorgangNummerSupplier.get(VORGANG_NUMMER_SUFFIX_LENGTH)).thenReturn(FormHeaderTestFactory.VORGANGNUMMER); } @@ -44,29 +42,28 @@ class XtaMessageMapperTest { void shouldMapRepresentations() { var formData = doMapping(); - assertThat(formData.getRepresentations()).containsExactly(xdomeaMessageData.metadataFile(), - xdomeaMessageData.representations().getFirst()); + assertThat(formData.getRepresentations()).isEqualTo(PAIR_REPRESENTATIONS); } @Test void shouldSetNumberOfAttachments() { var formData = doMapping(); - assertThat(formData.getNumberOfAttachments()).isEqualTo(1); + assertThat(formData.getNumberOfAttachments()).isEqualTo(PAIR_ATTACHMENTS.size()); } @Test void shouldSetNumberOfRepresentations() { var formData = doMapping(); - assertThat(formData.getNumberOfRepresentations()).isEqualTo(2); + assertThat(formData.getNumberOfRepresentations()).isEqualTo(PAIR_REPRESENTATIONS.size()); } @Test void shouldMapAttachments() { var formData = doMapping(); - assertThat(formData.getAttachments()).isEqualTo(xdomeaMessageData.attachments()); + assertThat(formData.getAttachments()).isEqualTo(PAIR_ATTACHMENTS); } @Test @@ -77,7 +74,7 @@ class XtaMessageMapperTest { } private FormData doMapping() { - return mapper.toFormData(xdomeaMessageData, xtaMessageMetaData, vorgangNummerSupplier); + return mapper.toFormData(representationsAttachmentsPair, xtaMessageMetaData, vorgangNummerSupplier); } } } -- GitLab