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

Merge pull request 'OZG-5323-Bescheid-Document-laden' (#330) from...

Merge pull request 'OZG-5323-Bescheid-Document-laden' (#330) from OZG-5323-Bescheid-Document-laden into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/vorgang-manager/pulls/330
parents 6e485c87 8dbedac9
Branches
Tags
No related merge requests found
...@@ -26,12 +26,14 @@ package de.ozgcloud.document; ...@@ -26,12 +26,14 @@ package de.ozgcloud.document;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.mapstruct.NullValueCheckStrategy;
import de.ozgcloud.bescheid.attacheditem.AttachedItem; import de.ozgcloud.bescheid.attacheditem.AttachedItem;
@Mapper @Mapper(nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
interface DocumentMapper { interface DocumentMapper {
@Mapping(target = "allFields", ignore = true)
@Mapping(target = "unknownFields", ignore = true) @Mapping(target = "unknownFields", ignore = true)
@Mapping(target = "typeBytes", ignore = true) @Mapping(target = "typeBytes", ignore = true)
@Mapping(target = "nachrichtTextBytes", ignore = true) @Mapping(target = "nachrichtTextBytes", ignore = true)
...@@ -44,7 +46,7 @@ interface DocumentMapper { ...@@ -44,7 +46,7 @@ interface DocumentMapper {
@Mapping(target = "clearField", ignore = true) @Mapping(target = "clearField", ignore = true)
GrpcDocument toGrpcDocument(Document document); GrpcDocument toGrpcDocument(Document document);
default Document fromAttacheItem(AttachedItem attachedItem) { default Document fromAttachedItem(AttachedItem attachedItem) {
return Document.builder() return Document.builder()
.id(attachedItem.getId()) .id(attachedItem.getId())
.type(MapUtils.getString(attachedItem.getItem(), Document.FIELD_DOCUMENT_TYPE)) .type(MapUtils.getString(attachedItem.getItem(), Document.FIELD_DOCUMENT_TYPE))
......
...@@ -96,6 +96,6 @@ public class DocumentService { ...@@ -96,6 +96,6 @@ public class DocumentService {
} }
public Document getDocument(String id) { public Document getDocument(String id) {
return documentMapper.fromAttacheItem(attachedItemService.getItem(id)); return documentMapper.fromAttachedItem(attachedItemService.getItem(id));
} }
} }
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
*/ */
package de.ozgcloud.bescheid.attacheditem; package de.ozgcloud.bescheid.attacheditem;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -65,19 +66,22 @@ public class AttachedItemTestFactory { ...@@ -65,19 +66,22 @@ public class AttachedItemTestFactory {
} }
public static AttachedItem createDocument() { public static AttachedItem createDocument() {
return createDocumentBuilder().build();
}
public static AttachedItem.AttachedItemBuilder createDocumentBuilder() {
return createBuilder() return createBuilder()
.itemName(DocumentService.DOCUMENT_ITEM_NAME) .itemName(DocumentService.DOCUMENT_ITEM_NAME)
.item(createDocumentItem()) .item(createDocumentItem());
.build();
} }
public static Map<String, Object> createDocumentItem() { public static HashMap<String, Object> createDocumentItem() {
return Map.of( var map = new HashMap<String, Object>();
Document.FIELD_DOCUMENT_TYPE, DocumentService.DOCUMENT_TYPE, map.put(Document.FIELD_DOCUMENT_TYPE, DocumentService.DOCUMENT_TYPE);
Document.FIELD_DOCUMENT_FILE, DocumentTestFactory.DOCUMENT_FILE, map.put(Document.FIELD_DOCUMENT_FILE, DocumentTestFactory.DOCUMENT_FILE);
Document.FIELD_NACHRICHT_TEXT, DocumentTestFactory.NACHRICHT_TEXT, map.put(Document.FIELD_NACHRICHT_TEXT, DocumentTestFactory.NACHRICHT_TEXT);
Document.FIELD_NACHRICHT_SUBJECT, DocumentTestFactory.NACHRICHT_SUBJECT map.put(Document.FIELD_NACHRICHT_SUBJECT, DocumentTestFactory.NACHRICHT_SUBJECT);
); return map;
} }
public static AttachedItemBuilder createBuilder() { public static AttachedItemBuilder createBuilder() {
......
...@@ -25,13 +25,21 @@ package de.ozgcloud.document; ...@@ -25,13 +25,21 @@ package de.ozgcloud.document;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import de.ozgcloud.bescheid.attacheditem.AttachedItemTestFactory;
class DocumentMapperTest { class DocumentMapperTest {
private DocumentMapper mapper = Mappers.getMapper(DocumentMapper.class); private DocumentMapper mapper = Mappers.getMapper(DocumentMapper.class);
@DisplayName("To grpc document")
@Nested
class TestToGrpcDocument {
@Test @Test
void shouldMapDocument() { void shouldMapDocument() {
var result = mapper.toGrpcDocument(DocumentTestFactory.create()); var result = mapper.toGrpcDocument(DocumentTestFactory.create());
...@@ -39,4 +47,61 @@ class DocumentMapperTest { ...@@ -39,4 +47,61 @@ class DocumentMapperTest {
assertThat(result).usingRecursiveComparison().isEqualTo(GrpcDocumentTestFactory.create()); assertThat(result).usingRecursiveComparison().isEqualTo(GrpcDocumentTestFactory.create());
} }
@Test
void shouldMapEmptyDocument() {
var result = mapper.toGrpcDocument(Document.builder().build());
assertThat(result).isEqualTo(GrpcDocument.newBuilder().build());
}
}
@DisplayName("From attached item")
@Nested
class TestFromAttachedItem {
@Test
void shouldMapId() {
var document = AttachedItemTestFactory.createDocument();
var result = mapper.fromAttachedItem(document);
assertThat(result.getId()).isEqualTo(AttachedItemTestFactory.ID);
}
@Test
void shouldMapType() {
var document = AttachedItemTestFactory.createDocument();
var result = mapper.fromAttachedItem(document);
assertThat(result.getType()).isEqualTo(DocumentService.DOCUMENT_TYPE);
}
@Test
void shouldMapFileId() {
var document = AttachedItemTestFactory.createDocument();
var result = mapper.fromAttachedItem(document);
assertThat(result.getFileId()).isEqualTo(DocumentTestFactory.DOCUMENT_FILE);
}
@Test
void shouldMapNachrichtText() {
var document = AttachedItemTestFactory.createDocument();
var result = mapper.fromAttachedItem(document);
assertThat(result.getNachrichtText()).isEqualTo(DocumentTestFactory.NACHRICHT_TEXT);
}
@Test
void shouldMapNachrichtSubject() {
var document = AttachedItemTestFactory.createDocument();
var result = mapper.fromAttachedItem(document);
assertThat(result.getNachrichtSubject()).isEqualTo(DocumentTestFactory.NACHRICHT_SUBJECT);
}
}
} }
\ No newline at end of file
...@@ -313,13 +313,13 @@ class DocumentServiceTest { ...@@ -313,13 +313,13 @@ class DocumentServiceTest {
service.getDocument(AttachedItemTestFactory.ID); service.getDocument(AttachedItemTestFactory.ID);
verify(documentMapper).fromAttacheItem(expectedItem); verify(documentMapper).fromAttachedItem(expectedItem);
} }
@Test @Test
void shouldReturnDocument() { void shouldReturnDocument() {
var expectedDocument = DocumentTestFactory.create(); var expectedDocument = DocumentTestFactory.create();
when(documentMapper.fromAttacheItem(any())).thenReturn(expectedDocument); when(documentMapper.fromAttachedItem(any())).thenReturn(expectedDocument);
Document document = service.getDocument(AttachedItemTestFactory.ID); Document document = service.getDocument(AttachedItemTestFactory.ID);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment