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

OZG-4529 [xta] set vorgangNummer

parent 0d4cc76c
Branches
Tags
No related merge requests found
......@@ -9,6 +9,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.FormHeader;
import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier;
import lombok.NonNull;
import lombok.extern.log4j.Log4j2;
......@@ -22,6 +24,8 @@ class XtaService {
private XtaRemoteService remoteService;
@Autowired
private XtaMessageMapper mapper;
@Autowired
private VorgangNummerSupplier vorgangNummerSupplier;
public Stream<FormData> getMessages() {
return createXtaMessageStream().filter(this::filterByMessageType).map(this::getFormData);
......@@ -45,7 +49,16 @@ class XtaService {
public FormData getFormData(@NonNull XtaMessageMetaData metaData) {
var msg = remoteService.getMessage(metaData.getMessageId());
return mapper.toFormData(msg.toBuilder().metaData(metaData).build());
var formData = mapper.toFormData(msg.toBuilder().metaData(metaData).build());
return updateHeader(formData);
}
FormData updateHeader(FormData formData) {
return formData.toBuilder().header(setVorgangNummer(formData.getHeader())).build();
}
FormHeader setVorgangNummer(FormHeader formHeader) {
return formHeader.toBuilder().vorgangNummer(vorgangNummerSupplier.get()).build();
}
public void acknowledgeReceive(@NonNull XtaMessageId messageId) {
......
......@@ -6,6 +6,7 @@ import static org.mockito.Mockito.*;
import java.util.stream.Stream;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
......@@ -15,6 +16,9 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Spy;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier;
class XtaServiceTest {
private static final String MESSAGE_TYPE_OTHER = "MESSAGE_TYPE_OTHER";
......@@ -27,6 +31,8 @@ class XtaServiceTest {
private XtaRemoteService remoteService;
@Mock
private XtaMessageMapper mapper;
@Mock
private VorgangNummerSupplier vorgangNummerSupplier;
@Nested
class TestGetMessagesAsFormData {
......@@ -49,6 +55,7 @@ class XtaServiceTest {
@Test
void shouldCallFilterByMessageType() {
when(mapper.toFormData(any())).thenReturn(FormDataTestFactory.create());
when(remoteService.getMessage(any(XtaMessageId.class))).thenReturn(message);
service.getMessages().toList();
......@@ -58,6 +65,7 @@ class XtaServiceTest {
@Test
void shouldCallGetFormData() {
when(mapper.toFormData(any())).thenReturn(FormDataTestFactory.create());
when(remoteService.getMessage(any(XtaMessageId.class))).thenReturn(message);
doReturn(true).when(service).filterByMessageType(messageMetaData);
......@@ -101,6 +109,8 @@ class XtaServiceTest {
@Captor
private ArgumentCaptor<XtaMessage> messageCaptor;
@Mock
private FormData formData;
@BeforeEach
void init() {
......@@ -109,6 +119,8 @@ class XtaServiceTest {
@Test
void shouldCallRemoteService() {
doReturn(formData).when(service).updateHeader(any());
service.getFormData(XtaMessageMetaDataTestFactory.create());
verify(remoteService).getMessage(XtaMessageTestFactory.MESSAGE_ID);
......@@ -116,6 +128,8 @@ class XtaServiceTest {
@Test
void shouldCallMapper() {
doReturn(formData).when(service).updateHeader(any());
service.getFormData(XtaMessageMetaDataTestFactory.create());
verify(mapper).toFormData(any());
......@@ -123,7 +137,9 @@ class XtaServiceTest {
@Test
void shouldHaveMetaData() {
doReturn(formData).when(service).updateHeader(any());
XtaMessageMetaData metaData = XtaMessageMetaDataTestFactory.create();
service.getFormData(metaData);
verify(mapper).toFormData(messageCaptor.capture());
......@@ -134,6 +150,7 @@ class XtaServiceTest {
void shouldReturnMappedResult() {
var mapped = FormDataTestFactory.create();
when(mapper.toFormData(any())).thenReturn(mapped);
doReturn(mapped).when(service).updateHeader(any());
var result = service.getFormData(XtaMessageMetaDataTestFactory.create());
......@@ -141,6 +158,50 @@ class XtaServiceTest {
}
}
@Nested
class TestUpdateHeader {
@Test
void shouldCallSetVorgangNummer() {
var formData = FormDataTestFactory.create();
service.updateHeader(formData);
verify(service).setVorgangNummer(formData.getHeader());
}
@Test
void shouldSetUpdatedHeader() {
var updatedHeader = FormHeaderTestFactory.create();
doReturn(updatedHeader).when(service).setVorgangNummer(any());
var result = service.updateHeader(FormDataTestFactory.create());
Assertions.assertThat(result.getHeader()).isSameAs(updatedHeader);
}
}
@Nested
class TestSetVorgangNummer {
@Test
void shouldCallVorgangNummerSupplier() {
service.setVorgangNummer(FormHeaderTestFactory.create());
verify(vorgangNummerSupplier).get();
}
@Test
void shouldSetVorgangNummer() {
var vorgangNummer = "vorgang-1";
when(vorgangNummerSupplier.get()).thenReturn(vorgangNummer);
var result = service.setVorgangNummer(FormHeaderTestFactory.create());
assertThat(result.getVorgangNummer()).isEqualTo(vorgangNummer);
}
}
@Nested
class TestAcknowledgeReceive {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment