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

OZG-530 OZG-570 add mapper for file attachments

parent edafed48
No related branches found
No related tags found
No related merge requests found
......@@ -14,8 +14,7 @@ import org.mapstruct.Mapping;
import org.mapstruct.NullValueCheckStrategy;
import org.mapstruct.NullValuePropertyMappingStrategy;
@Mapper(uses = { AntragstellerMapper.class,
EingangHeaderMapper.class }, //
@Mapper(uses = { AntragstellerMapper.class, EingangHeaderMapper.class, OzgFileMapper.class }, //
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, //
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, //
collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED)
......
package de.itvsh.ozg.pluto.vorgang;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Builder
@Getter
@NoArgsConstructor
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@ToString
public class File {
......
package de.itvsh.ozg.pluto.vorgang;
import org.mapstruct.Mapper;
@Mapper
public interface OzgFileMapper {
File map(GrpcAttachment attachment);
File map(GrpcRepresentation representation);
}
......@@ -15,6 +15,7 @@ import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Spy;
class EingangMapperTest {
......@@ -26,6 +27,9 @@ class EingangMapperTest {
@Mock
private EingangHeaderMapper eingangHeaderMapper;
@Spy
private OzgFileMapper ozgFileMapper = Mappers.getMapper(OzgFileMapper.class);
@Nested
class TestGrpcEingangToEingang {
......@@ -95,7 +99,6 @@ class EingangMapperTest {
@Test
void shouldNotBeEmpty() {
var eingang = mapper.fromGrpc(grpcEingang);
assertThat(eingang.getFormData()).isNotEmpty();
......@@ -103,7 +106,6 @@ class EingangMapperTest {
@Test
void shouldHaveMappedSubForm() {
var eingang = mapper.fromGrpc(grpcEingang);
assertThat(eingang.getFormData()).containsKey(TITLE);
......@@ -112,7 +114,6 @@ class EingangMapperTest {
@DisplayName("mapped FormData should contain fields")
@Test
void fieldsInSubForm() {
var eingang = mapper.fromGrpc(grpcEingang);
@SuppressWarnings("unchecked")
Map<String, Object> formData = (Map<String, Object>) eingang.getFormData().get(TITLE);
......@@ -123,7 +124,6 @@ class EingangMapperTest {
@DisplayName("mapped FormData should contains subForm")
@Test
void shouldHaveMappedSubFormWithSubForm() {
var eingang = mapper.fromGrpc(grpcEingang);
@SuppressWarnings("unchecked")
Map<String, Object> formData = (Map<String, Object>) eingang.getFormData().get(TITLE);
......@@ -134,7 +134,6 @@ class EingangMapperTest {
@DisplayName("mapped SubForm should contain field")
@Test
void subFormShouldContainField() {
var eingang = mapper.fromGrpc(grpcEingang);
@SuppressWarnings("unchecked")
Map<String, Object> subForm = (Map<String, Object>) ((Map<String, Object>) eingang.getFormData().get(TITLE)).get(SUBFORM_NAME);
......@@ -151,19 +150,16 @@ class EingangMapperTest {
@BeforeEach
void init() {
eingang = mapper.fromGrpc(GrpcEingangTestFactory.create());
}
@Test
void testAttachmentsCount() {
assertThat(eingang.getAttachments()).isNotNull().isNotEmpty().hasSize(1);
}
@Test
void testAttachment1() {
File attachment = eingang.getAttachments().get(0);
assertThat(attachment.getId()).isEqualTo(FileTestFactory.ID);
......@@ -173,13 +169,11 @@ class EingangMapperTest {
@Test
void testRepresentationsCount() {
assertThat(eingang.getRepresentations()).isNotNull().isNotEmpty().hasSize(1);
}
@Test
void testRepresentation1() {
File representation = eingang.getRepresentations().get(0);
assertThat(representation.getId()).isEqualTo(FileTestFactory.ID);
......@@ -191,7 +185,6 @@ class EingangMapperTest {
@Nested
class TestEingangToGrpcEingang {
private final GrpcAntragsteller antragsteller = GrpcAntragstellerTestFactory.create();
private final GrpcEingangHeader eingangHeader = GrpcEingangHeaderTestFactory.create();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment