Skip to content
Snippets Groups Projects
Commit 9ffc2dba authored by OZGCloud's avatar OZGCloud
Browse files

OZG-1384 formdata Mapping add more tests

parent 61061402
No related branches found
No related tags found
No related merge requests found
package de.itvsh.ozg.adapter;
import static org.assertj.core.api.Assertions.*;
import java.util.List;
import java.util.Map;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers;
import org.mockito.InjectMocks;
import org.mockito.Spy;
import de.itvsh.ozg.adapter.formdata.AntragstellerTestFactory;
import de.itvsh.ozg.adapter.formdata.FormDataTestFactory;
import de.itvsh.ozg.adapter.formdata.IncomingFileTestFactory;
import de.itvsh.ozg.adapter.formdata.ZustaendigsStelleTestFactory;
import de.itvsh.ozg.pluto.vorgang.GrpcEingang;
import de.itvsh.ozg.pluto.vorgang.GrpcIncomingFile;
class GrpcEingangMapperITCase {
@InjectMocks
private GrpcEingangMapper MAPPER_INSTANCE = Mappers.getMapper(GrpcEingangMapper.class);
@Spy
private GrpcFormDataMapper grpcFormDataMapper = Mappers.getMapper(GrpcFormDataMapper.class);
@DisplayName("Mapped GrpcEingang")
@Nested
class TestToEingang {
@Nested
@DisplayName("Mapped Antragsteller")
class TestMappingAntragsteller {
@Test
void antragstellerShouldBeMapped() {
var antragSteller = MAPPER_INSTANCE.toEingang(FormDataTestFactory.create()).getAntragsteller();
assertThat(antragSteller.getPostfachId()).isEqualTo(AntragstellerTestFactory.POSTFACH_ID);
assertThat(antragSteller.getVorname()).isEqualTo(AntragstellerTestFactory.VORNAME);
}
@Test
void dataShouldBeMapped() {
var antragsteller = MAPPER_INSTANCE.toEingang(FormDataTestFactory.create()).getAntragsteller();
assertThat(antragsteller.getOtherData().getFieldList()).hasSize(1);
assertThat(antragsteller.getOtherData().getField(0).getName()).isEqualTo(AntragstellerTestFactory.GEBIET_BEZEICHNUNG_KEY);
assertThat(antragsteller.getOtherData().getField(0).getValue()).isEqualTo(AntragstellerTestFactory.GEBIET_BEZEICHNUNG_VALUE);
}
}
@Nested
@DisplayName("Mapped Zustaendinge Stelle")
class TestZustaendigeStelle {
@Test
void eingangShouldHaveZustaendigeStelle() {
var zustaendigeStelle = MAPPER_INSTANCE.toEingang(FormDataTestFactory.create()).getZustaendigeStelle();
assertThat(zustaendigeStelle).isNotNull();
assertThat(zustaendigeStelle.getOrganisationseinheitenId()).isEqualTo(ZustaendigsStelleTestFactory.ORGANISATIONSEINHEIT_ID);
assertThat(zustaendigeStelle.getEmail()).isEqualTo(ZustaendigsStelleTestFactory.EMAIL);
}
}
@Nested
@DisplayName("Test mapped Attachments")
class TestAttachments {
private GrpcEingang eingang;
@BeforeEach
void init() {
eingang = MAPPER_INSTANCE.toEingang(FormDataTestFactory.create());
}
@Test
void validateNumberOfAttachments() {
assertThat(eingang.getNumberOfAttachments()).isEqualTo(2);
}
@Test
void validateNumberOfAttachmentGroups() {
assertThat(eingang.getAttachmentsCount()).isEqualTo(2);
}
@Test
void validateGroup1AttachmentCount() {
assertThat(eingang.getAttachmentsList().get(0).getFilesCount()).isEqualTo(1);
}
@Test
void validateGroup1Attachment() {
GrpcIncomingFile attachment = eingang.getAttachmentsList().get(0).getFilesList().get(0);
assertThat(attachment.getId()).isEqualTo(IncomingFileTestFactory.ID);
assertThat(attachment.getVendorId()).isEqualTo(IncomingFileTestFactory.VENDOR_ID);
assertThat(attachment.getName()).isEqualTo(IncomingFileTestFactory.NAME);
assertThat(attachment.getContentType()).isEqualTo(IncomingFileTestFactory.CONTENT_TYPE);
assertThat(attachment.getContent().toByteArray()).isEqualTo(IncomingFileTestFactory.CONTENT);
}
@Test
void validateGroup2AttachmentCount() {
assertThat(eingang.getAttachmentsList().get(1).getFilesCount()).isEqualTo(1);
}
@Test
void validateGroup2Attachment() {
GrpcIncomingFile attachment = eingang.getAttachmentsList().get(1).getFilesList().get(0);
assertThat(attachment.getId()).isEqualTo(IncomingFileTestFactory.ID);
assertThat(attachment.getVendorId()).isEqualTo(IncomingFileTestFactory.VENDOR_ID);
assertThat(attachment.getName()).isEqualTo(IncomingFileTestFactory.NAME);
assertThat(attachment.getContentType()).isEqualTo(IncomingFileTestFactory.CONTENT_TYPE);
assertThat(attachment.getContent().toByteArray()).isEqualTo(IncomingFileTestFactory.CONTENT);
}
}
@Nested
@DisplayName("Test mapped Representations")
class TestRepresentations {
@Test
void testRepresentations() {
GrpcEingang eingang = MAPPER_INSTANCE.toEingang(FormDataTestFactory.create());
assertThat(eingang.getRepresentationsCount()).isEqualTo(1);
GrpcIncomingFile representation = eingang.getRepresentationsList().get(0);
assertThat(representation.getId()).isEqualTo(IncomingFileTestFactory.ID);
assertThat(representation.getVendorId()).isEqualTo(IncomingFileTestFactory.VENDOR_ID);
assertThat(representation.getName()).isEqualTo(IncomingFileTestFactory.NAME);
assertThat(representation.getContentType()).isEqualTo(IncomingFileTestFactory.CONTENT_TYPE);
assertThat(representation.getContent().toByteArray()).isEqualTo(IncomingFileTestFactory.CONTENT);
}
}
@Nested
@DisplayName("Test mapping for formdata duplicate values")
class TestDuplicateFormData {
@Test
void valueListShouldGenerateFields() {
GrpcEingang eingang = MAPPER_INSTANCE
.toEingang(FormDataTestFactory.createBuilder().formData(Map.of("key", List.of("value1", "value2"))).build());
assertThat(eingang.getFormData().getFieldCount()).isEqualTo(2);
}
@Test
void objectListShouldGenerateSubForms() {
GrpcEingang eingang = MAPPER_INSTANCE
.toEingang(FormDataTestFactory.createBuilder()
.formData(Map.of("key", List.of(Map.of("subkey", "value1"), Map.of("subkey", "value2")))).build());
assertThat(eingang.getFormData().getFormCount()).isEqualTo(2);
}
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment