diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaRunnerTest.java b/src/test/java/de/ozgcloud/eingang/xta/XtaRunnerTest.java index 19a0bf427e082d4d4d23430ac6c394e3ee37ee39..e5d2d31ced5d493b08af6bfc464ec987f573ae7b 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaRunnerTest.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaRunnerTest.java @@ -30,9 +30,6 @@ import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; -import de.ozgcloud.eingang.common.formdata.FormData; -import de.ozgcloud.eingang.semantik.SemantikAdapter; - class XtaRunnerTest { @InjectMocks @@ -40,8 +37,6 @@ class XtaRunnerTest { @Mock private XtaService service; - @Mock - private SemantikAdapter semantikAdapter; @Nested class TestRunGetXtaMessages { diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java b/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java index 929fe6fd545477f77bf1ca03f2876deb27ebf24b..77119be77589e48e523bbb22a47800abf6280817 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java @@ -51,6 +51,7 @@ import de.ozgcloud.eingang.common.formdata.FormDataControlTestFactory; import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory; import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; +import de.ozgcloud.eingang.semantik.SemantikAdapter; import de.ozgcloud.eingang.xdomea.XdomeaMessageDataMapper; import de.ozgcloud.xta.client.XtaClient; import de.ozgcloud.xta.client.model.XtaMessage; @@ -69,6 +70,8 @@ class XtaServiceTest { private XtaMessageMapper mapper; @Mock private VorgangNummerSupplier vorgangNummerSupplier; + @Mock + private SemantikAdapter semantikAdapter; @Mock private XtaIncomingFilesMapper incomingFilesMapper; @@ -79,13 +82,8 @@ class XtaServiceTest { @Mock private FormData formData; - @Mock - private FormData formData2; - - // TODO write missing tests - @Nested - class TestGetMessagesAsFormData { + class TestFetchMessages { private final XtaTransportReport transportReport = XtaTransportReportFactory.create(); @@ -131,6 +129,38 @@ class XtaServiceTest { } + @DisplayName("process message") + @Nested + class TestProcessMessage { + private final XtaMessage xtaMessage = XtaMessageTestFactory.create(); + + @DisplayName("should call getFormDataIfNoRuntimeException") + @Test + void shouldCallGetFormDataIfNoRuntimeException() { + service.processMessage(xtaMessage); + + verify(service).getFormDataIfNoRuntimeException(any()); + } + + @Test + void shouldCallProcessSemantik() { + doReturn(Optional.of(formData)).when(service).getFormDataIfNoRuntimeException(any()); + + service.processMessage(xtaMessage); + + verify(service).processSemantik(formData); + } + + @Test + void shouldNotCallProcessSemantik() { + doReturn(Optional.empty()).when(service).getFormDataIfNoRuntimeException(any()); + + service.processMessage(xtaMessage); + + verify(service, never()).processSemantik(any()); + } + } + @DisplayName("get form data if no runtime exception") @Nested class TestGetFormDataIfNoRuntimeException { @@ -179,16 +209,14 @@ class XtaServiceTest { } } + @DisplayName("get form data") @Nested class TestGetFormData { - @Mock - private FormData formData; - - private XtaMessage message = XtaMessageTestFactory.create(); - private XtaMessageMetaData messageMetaData = XtaMessageMetaDataTestFactory.create(); + private final XtaMessage message = XtaMessageTestFactory.create(); + private final XtaMessageMetaData messageMetaData = XtaMessageMetaDataTestFactory.create(); + private final FormData mappedFormData = FormDataTestFactory.create(); private RepresentationsAttachmentsPair classification; - private FormData mappedFormData = FormDataTestFactory.create(); @Captor private ArgumentCaptor<XtaMessageMetaData> messageMetaDataCaptor; @@ -242,6 +270,7 @@ class XtaServiceTest { } } + @DisplayName("add attachments") @Nested class TestAddAttachments { @@ -267,7 +296,6 @@ class XtaServiceTest { @DisplayName("get representations attachments pair") @Nested class TestGetRepresentationsAttachmentsPair { - // TODO use TestFactory instead of Mock @Mock private XtaMessageMetaData messageMetaData; @@ -343,6 +371,7 @@ class XtaServiceTest { } } + @DisplayName("add representations") @Nested class TestAddRepresentations { @Test @@ -355,16 +384,27 @@ class XtaServiceTest { @Test void shouldRespectExistingRepresentation() { - var formData = FormDataTestFactory.createBuilder().control(FormDataControlTestFactory.createBuilder() + var formDataWithRepresentation = FormDataTestFactory.createBuilder().control(FormDataControlTestFactory.createBuilder() .representations(Optional.of( Representations.builder().primaryFormDataPdfRepresentation("PDF_FILE").build())) .build()).build(); - var result = service.addRepresentations(formData, XtaMessageTestFactory.PRIMARY_FORM_DATA_MESSAGE); + var result = service.addRepresentations(formDataWithRepresentation, XtaMessageTestFactory.PRIMARY_FORM_DATA_MESSAGE); 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"); } } + + @DisplayName("process semantik") + @Nested + class TestProcessSemantik { + @Test + void shouldCallSemantikAdapter() { + service.processSemantik(FormDataTestFactory.create()); + + verify(semantikAdapter).processFormData(any()); + } + } }