diff --git a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/DepositDataMapper.java b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/DepositDataMapper.java index b3217e3fed5aaf5e77990f6b48515713d5916934..f4b42d22220e907979e96ccdc21b684084ef0ac7 100644 --- a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/DepositDataMapper.java +++ b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/DepositDataMapper.java @@ -71,7 +71,7 @@ class DepositDataMapper { } public FormData mapToFormData(DepositData depositData) { - var incomingFileMap = mapDepositAttachmentsToIncomingFiles(depositData); + var incomingFileMap = mapDepositAttachmentsToSortedIncomingFiles(depositData); var document = parsePrimaryXmlRepresentation(depositData, incomingFileMap); var attachmentGroups = findAttachmentGroups(document); diff --git a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/AttachmentTestFactory.java b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/AttachmentTestFactory.java index 296091c2e7c4b7bfb4c79b7d583946826ad33413..a2157603218be1f371cd3d516e93640ba2bb5703 100644 --- a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/AttachmentTestFactory.java +++ b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/AttachmentTestFactory.java @@ -54,6 +54,8 @@ public class AttachmentTestFactory { </myForm>"""; public static final String XML_CONTENT = XML_CONTENT_STRING; public static final String XML_ATTACHMENT_ID = "myForm-xml"; + public static final String XML_ROHFORM_ATTACHMENT_ID = "myForm-xml-rohform"; + public static final String XML_ORIGINALFORM_ATTACHMENT_ID = "myForm-xml-originalform"; public static final String XML_NAME = "XML-Daten.xml"; public static final String PDF_ATTACHMENT_CONTENT_TYPE = "application/pdf"; @@ -147,7 +149,22 @@ public class AttachmentTestFactory { ); return Stream.concat( - Stream.of(createXmlDatenWithContent(xmlFormString)), + Stream.of( + createAttachment(MetaAttachment.builder() + .id(XML_ROHFORM_ATTACHMENT_ID) + .name("XML-Daten (Rohform).xml") + .contentType(XML_CONTENT_TYPE) + .content(xmlFormString) + .build() + ), + createAttachment(MetaAttachment.builder() + .id(XML_ORIGINALFORM_ATTACHMENT_ID) + .name("XML-Daten (Originalform).xml") + .contentType(XML_CONTENT_TYPE) + .content(xmlFormString) + .build() + ), + createXmlDatenWithContent(xmlFormString)), metaAttachments.stream().map(AttachmentTestFactory::createAttachment) ).toList(); } diff --git a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/DepositDataMapperTest.java b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/DepositDataMapperTest.java index 146bd522508b4c21806fdd3c5e4faa4508b806fc..14e6051660099f272547fd68a7ec71fe265422e5 100644 --- a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/DepositDataMapperTest.java +++ b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/DepositDataMapperTest.java @@ -208,7 +208,11 @@ class DepositDataMapperTest { var incomingFileIds = formData.getRepresentations().stream() .map(IncomingFile::getVendorId) .toList(); - assertThat(incomingFileIds).containsExactly(XML_ATTACHMENT_ID); + assertThat(incomingFileIds).containsExactly( + XML_ATTACHMENT_ID, + XML_ROHFORM_ATTACHMENT_ID, + XML_ORIGINALFORM_ATTACHMENT_ID + ); } @DisplayName("should return with attachment groups") diff --git a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointITCase.java b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointITCase.java index 524f388ca41061d7abcfe8b535d4f78853df2081..17c560fb68e7670a05e0dd8feb2102cbc15fd609 100644 --- a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointITCase.java +++ b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/FormDataEndpointITCase.java @@ -142,16 +142,20 @@ class FormDataEndpointITCase { return grpcEingangCaptor.getValue().getAntragsteller(); } - @DisplayName("should have one representation") + @DisplayName("should have representations") @Test - void shouldHaveOneRepresentation() { + void shouldHaveRepresentations() { sendDepositAndCaptureCreateVorgang(); var eingang = grpcEingangCaptor.getValue(); var representationVendorIds = eingang.getRepresentationsList().stream() .map(GrpcIncomingFile::getVendorId) .toList(); - assertThat(representationVendorIds).containsExactly(XML_ATTACHMENT_ID); + assertThat(representationVendorIds).containsExactly( + XML_ATTACHMENT_ID, + XML_ROHFORM_ATTACHMENT_ID, + XML_ORIGINALFORM_ATTACHMENT_ID + ); } @DisplayName("should have attachments")