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

Merge remote-tracking branch 'origin/OZG-5778_entry-metadata' into OZG-6735_fim_metadata

# Conflicts:
#	fim-adapter/src/main/java/de/ozgcloud/eingang/fim/AntragstellerExtractor.java
#	fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataMapper.java
#	fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapter.java
#	fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java
#	fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimServiceITCase.java
parents ab8fd942 ccb1a87c
Branches
Tags
1 merge request!2Ozg 6735 fim metadata
...@@ -6,6 +6,7 @@ import static org.mockito.ArgumentMatchers.*; ...@@ -6,6 +6,7 @@ import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
...@@ -20,6 +21,8 @@ import org.mockito.Spy; ...@@ -20,6 +21,8 @@ import org.mockito.Spy;
import de.ozgcloud.eingang.common.errorhandling.TechnicalException; import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.FormData.Representations;
import de.ozgcloud.eingang.common.formdata.FormDataControlTestFactory;
import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.formdata.IncomingFile;
import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory; import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory;
import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier;
...@@ -49,12 +52,21 @@ class XtaServiceTest { ...@@ -49,12 +52,21 @@ class XtaServiceTest {
@Mock @Mock
private XtaCurrentIdentifierService currentIdentifierService; private XtaCurrentIdentifierService currentIdentifierService;
@Mock
private FormData formData;
@Mock
private FormData formData2;
@Nested @Nested
class TestGetMessagesAsFormData { class TestGetMessagesAsFormData {
private final XtaMessageMetaData messageMetaData = XtaMessageMetaDataTestFactory.create(); private final XtaMessageMetaData messageMetaData = XtaMessageMetaDataTestFactory.create();
private final XtaMessage message = XtaMessageTestFactory.create(); private final XtaMessage message = XtaMessageTestFactory.create();
@DisplayName("with one message")
@Nested
class TestWithOneMessage {
@BeforeEach @BeforeEach
void setup() { void setup() {
doReturn(Stream.of(messageMetaData)).when(service).createXtaMessageStream(); doReturn(Stream.of(messageMetaData)).when(service).createXtaMessageStream();
...@@ -77,7 +89,7 @@ class XtaServiceTest { ...@@ -77,7 +89,7 @@ class XtaServiceTest {
} }
@Test @Test
void shouldCallGetFormData() { void shouldCallGetFormDataIfNoRuntimeException() {
setupMocks(); setupMocks();
doReturn(true).when(service).isSupportedMessageType(messageMetaData); doReturn(true).when(service).isSupportedMessageType(messageMetaData);
...@@ -87,14 +99,46 @@ class XtaServiceTest { ...@@ -87,14 +99,46 @@ class XtaServiceTest {
} }
@Test @Test
void shouldNotCallGetFormData() { void shouldNotCallGetFormDataIfNoRuntimeException() {
doReturn(false).when(service).isSupportedMessageType(messageMetaData); doReturn(false).when(service).isSupportedMessageType(messageMetaData);
service.getMessages().toList(); service.getMessages().toList();
verify(service, never()).getFormData(any()); verify(service, never()).getFormDataIfNoRuntimeException(any());
}
}
@DisplayName("with multiple messages")
@Nested
class TestWithMultipleMessages {
private final XtaMessageMetaData messageMetaData2 = XtaMessageMetaDataTestFactory.createBuilder()
.messageId(XtaMessageId.from("messageId2"))
.build();
private final XtaMessageMetaData messageMetaData3 = XtaMessageMetaDataTestFactory.createBuilder()
.messageId(XtaMessageId.from("messageId3"))
.build();
@BeforeEach
void setup() {
doReturn(Stream.of(messageMetaData, messageMetaData2, messageMetaData3)).when(service).createXtaMessageStream();
} }
@DisplayName("should return stream of messages")
@Test
void shouldReturnStreamOfMessages() {
doReturn(true).when(service).isSupportedMessageType(messageMetaData);
doReturn(false).when(service).isSupportedMessageType(messageMetaData3);
doReturn(true).when(service).isSupportedMessageType(messageMetaData2);
doReturn(Optional.of(formData)).when(service).getFormDataIfNoRuntimeException(messageMetaData);
doReturn(Optional.of(formData2)).when(service).getFormDataIfNoRuntimeException(messageMetaData2);
var result = service.getMessages().toList();
assertThat(result).containsExactly(formData, formData2);
}
}
private void setupMocks() { private void setupMocks() {
var testFormData = FormDataTestFactory.create(); var testFormData = FormDataTestFactory.create();
when(mapper.toFormData(any(), any(), eq(vorgangNummerSupplier))).thenReturn(testFormData); when(mapper.toFormData(any(), any(), eq(vorgangNummerSupplier))).thenReturn(testFormData);
...@@ -129,6 +173,53 @@ class XtaServiceTest { ...@@ -129,6 +173,53 @@ class XtaServiceTest {
} }
} }
@DisplayName("get form data if no runtime exception")
@Nested
class TestGetFormDataIfNoRuntimeException {
@Mock
XtaMessageMetaData messageMetaData;
@Mock
FormData formData;
@DisplayName("should call get formdata")
@Test
void shouldCallGetFormdata() {
service.getFormDataIfNoRuntimeException(messageMetaData);
verify(service).getFormData(messageMetaData);
}
@DisplayName("with exception")
@Nested
class TestWithException {
@DisplayName("should return empty")
@Test
void shouldReturnEmpty() {
doThrow(new RuntimeException("test-error")).when(service).getFormData(any());
var result = service.getFormDataIfNoRuntimeException(messageMetaData);
assertThat(result).isEmpty();
}
}
@DisplayName("without exception")
@Nested
class TestWithoutException {
@DisplayName("should return")
@Test
void shouldReturn() {
doReturn(formData).when(service).getFormData(any());
var result = service.getFormDataIfNoRuntimeException(messageMetaData);
assertThat(result).contains(formData);
}
}
}
@Nested @Nested
class TestGetFormData { class TestGetFormData {
...@@ -192,7 +283,7 @@ class XtaServiceTest { ...@@ -192,7 +283,7 @@ class XtaServiceTest {
@Test @Test
void shouldReturnMappedResult() { void shouldReturnMappedResult() {
doReturn(mappedFormData).when(service).addAttachments(any(), any()); doReturn(mappedFormData).when(service).addRepresentations(any(), any());
var result = service.getFormData(messageMetaData); var result = service.getFormData(messageMetaData);
...@@ -353,4 +444,28 @@ class XtaServiceTest { ...@@ -353,4 +444,28 @@ class XtaServiceTest {
} }
} }
@Nested
class TestAddRepresentations {
@Test
void shouldAddPrimaryRepresentation() {
var result = service.addRepresentations(FormDataTestFactory.create(), XtaMessageTestFactory.create());
assertThat(result.getControl().getRepresentations()).isPresent().get()
.extracting(Representations::getPrimaryFormDataRepresentation).isEqualTo(XtaMessageTestFactory.PRIMARY_FORM_DATA_MESSAGE);
}
@Test
void shouldRespectExistingRepresentation() {
var formData = FormDataTestFactory.createBuilder().control(FormDataControlTestFactory.createBuilder()
.representations(Optional.of(
Representations.builder().primaryFormDataPdfRepresentation("PDF_FILE").build()))
.build()).build();
var result = service.addRepresentations(formData, XtaMessageTestFactory.create());
var baseAssert = assertThat(result.getControl().getRepresentations()).isPresent().get();
baseAssert.extracting(Representations::getPrimaryFormDataRepresentation).isEqualTo(XtaMessageTestFactory.PRIMARY_FORM_DATA_MESSAGE);
baseAssert.extracting(Representations::getPrimaryFormDataPdfRepresentation).isEqualTo("PDF_FILE");
}
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment