Skip to content
Snippets Groups Projects
Commit 3875277b authored by Jan Zickermann's avatar Jan Zickermann
Browse files

OZG-5413 intelliform: Fix number of files

parent 2e89628e
No related branches found
No related tags found
No related merge requests found
......@@ -29,19 +29,14 @@ import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.semantik.enginebased.FilesMapperHelper;
@Component
class AfmAttachedFilesMapper implements AfmEngineBasedMapper {
class AfmFileCountMapper implements AfmEngineBasedMapper {
@Override
public FormData parseFormData(FormData formData) {
var formDataBuilder = formData.toBuilder();
FilesMapperHelper.getAttachedFileGroups(formData)
.ifPresent(fileGroups -> formDataBuilder
.attachments(fileGroups)
.numberOfAttachments(FilesMapperHelper.countAttachedFiles(fileGroups)));
FilesMapperHelper.getRepresentations(formData)
.ifPresent(representations -> formDataBuilder.representations(representations).numberOfRepresentations(representations.size()));
return FilesMapperHelper.removeProcessedData(formDataBuilder.build());
return formData.toBuilder()
.numberOfRepresentations(formData.getRepresentations().size())
.numberOfAttachments(FilesMapperHelper.countAttachedFiles(formData.getAttachments()))
.build();
}
}
......@@ -103,7 +103,6 @@ public class IntelliFormRepresentationAdapter {
Map.of(
HEADER_FIELD, createHeaderMap(document)
).entrySet().stream()
).collect(ORDERED_MAP_ENTRY_COLLECTOR))
.build();
}
......
......@@ -26,44 +26,40 @@ package de.ozgcloud.eingang.semantik.enginebased.afm;
import static org.assertj.core.api.Assertions.*;
import java.util.List;
import java.util.Map;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
import de.ozgcloud.eingang.common.formdata.IncomingFileGroup;
import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory;
import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory;
import de.ozgcloud.eingang.semantik.enginebased.FilesMapperHelper;
import de.ozgcloud.eingang.semantik.enginebased.afm.AfmAttachedFilesMapper;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Spy;
class AfmAttachedFilesMapperTest {
class AfmFileCountMapperTest {
@Spy
@InjectMocks
private AfmAttachedFilesMapper mapper;
private AfmFileCountMapper mapper;
private IncomingFileGroup attachmentWithMultipleFiles = IncomingFileGroupTestFactory.createBuilder()
private final IncomingFileGroup attachmentWithMultipleFiles = IncomingFileGroupTestFactory.createBuilder()
.name("anotherAttachment")
.clearFiles()
.files(List.of(IncomingFileTestFactory.create(), IncomingFileTestFactory.create()))
.build();
private FormData formData = FormDataTestFactory.createBuilder()
private final FormData formData = FormDataTestFactory.createBuilder()
.clearAttachments()
.formData(Map.of(FilesMapperHelper.FIELD_NAME_MAPPED_FILES,
Map.of(FilesMapperHelper.ATTACHMENTS, List.of(IncomingFileGroupTestFactory.create(), attachmentWithMultipleFiles))))
.attachments(List.of(IncomingFileGroupTestFactory.create(), attachmentWithMultipleFiles))
.build();
@Nested
class TestParseFormData {
@Test
void shouldMapAttachments() {
void shouldKeepAttachments() {
var parsedFormData = parseFormData();
assertThat(parsedFormData.getAttachments()).hasSize(2);
......@@ -79,7 +75,7 @@ class AfmAttachedFilesMapperTest {
}
@Test
void shouldMapRepresentations() {
void shouldKeepRepresentations() {
var parsedFormData = parseFormData();
assertThat(parsedFormData.getRepresentations()).hasSize(1);
......@@ -92,13 +88,6 @@ class AfmAttachedFilesMapperTest {
assertThat(parsedFormData.getNumberOfRepresentations()).isEqualTo(1);
}
@Test
void shouldRemoveFilesFromMap() {
var parsedFormData = parseFormData();
assertThat(parsedFormData.getFormData().get(FilesMapperHelper.FIELD_NAME_MAPPED_FILES)).isNull();
}
private FormData parseFormData() {
return mapper.parseFormData(formData);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment