Skip to content
Snippets Groups Projects
Commit 5cbebaf1 authored by Lukas Malte Monnerjahn's avatar Lukas Malte Monnerjahn
Browse files

OZG-6240 KOP-2589 adjust XtaMessageService for TransportReports

parent 19d28206
No related branches found
No related tags found
No related merge requests found
...@@ -23,9 +23,12 @@ public class XtaMessageService { ...@@ -23,9 +23,12 @@ public class XtaMessageService {
private final Environment environment; private final Environment environment;
public boolean sendMessage(XtaMessage message) { public boolean sendMessage(XtaMessage message) {
if (transportReportRepository.add(message.metaData())) {
messageRepository.save(message); messageRepository.save(message);
return true; return true;
} }
return false;
}
public XtaMessageMetaDataListing getStatusList(XtaMessageMetaDataListingRequest listingRequest) { public XtaMessageMetaDataListing getStatusList(XtaMessageMetaDataListingRequest listingRequest) {
return XtaMessageMetaDataListing.builder() return XtaMessageMetaDataListing.builder()
...@@ -52,10 +55,12 @@ public class XtaMessageService { ...@@ -52,10 +55,12 @@ public class XtaMessageService {
} }
public boolean closeMessage(XtaCloseRequest request) { public boolean closeMessage(XtaCloseRequest request) {
return messageRepository.deleteByMessageIdAndReaderIdentifierValue( var isDeleted = messageRepository.deleteByMessageIdAndReaderIdentifierValue(
request.messageId(), request.messageId(),
request.clientIdentifier().value() request.clientIdentifier().value()
); );
var isClosed = transportReportRepository.setClosedStatus(request.messageId());
return isDeleted && isClosed;
} }
public Optional<XtaTransportReport> getTransportReport(XtaGetTransportReportRequest request) { public Optional<XtaTransportReport> getTransportReport(XtaGetTransportReportRequest request) {
......
...@@ -62,6 +62,7 @@ public class XtaMessageServiceTest { ...@@ -62,6 +62,7 @@ public class XtaMessageServiceTest {
@Test @Test
void shouldSaveMessage() { void shouldSaveMessage() {
when(transportReportRepository.add(message.metaData())).thenReturn(true);
message = XtaMessageTestFactory.create(MESSAGE_ID); message = XtaMessageTestFactory.create(MESSAGE_ID);
service.sendMessage(message); service.sendMessage(message);
...@@ -207,6 +208,7 @@ public class XtaMessageServiceTest { ...@@ -207,6 +208,7 @@ public class XtaMessageServiceTest {
when(messageRepository.deleteByMessageIdAndReaderIdentifierValue( when(messageRepository.deleteByMessageIdAndReaderIdentifierValue(
request.messageId(), request.clientIdentifier().value()) request.messageId(), request.clientIdentifier().value())
).thenReturn(deleted); ).thenReturn(deleted);
when(transportReportRepository.setClosedStatus(request.messageId())).thenReturn(deleted);
boolean result = service.closeMessage(request); boolean result = service.closeMessage(request);
...@@ -229,8 +231,8 @@ public class XtaMessageServiceTest { ...@@ -229,8 +231,8 @@ public class XtaMessageServiceTest {
.messageId(MESSAGE_ID_1) .messageId(MESSAGE_ID_1)
.clientIdentifier(READER_IDENTIFIER) .clientIdentifier(READER_IDENTIFIER)
.build(); .build();
private static final Predicate<XtaMessage> IS_AUTHOR_OR_READER = m -> true; private static final Predicate<XtaTransportReport> IS_AUTHOR_OR_READER = m -> true;
private static final Predicate<XtaMessage> IS_NOT_AUTHOR_OR_READER = m -> false; private static final Predicate<XtaTransportReport> IS_NOT_AUTHOR_OR_READER = m -> false;
@Mock @Mock
XtaTransportReport report; XtaTransportReport report;
...@@ -239,7 +241,7 @@ public class XtaMessageServiceTest { ...@@ -239,7 +241,7 @@ public class XtaMessageServiceTest {
@Test @Test
void shouldReturn() { void shouldReturn() {
when(transportReportRepository.get(MESSAGE_ID_1)).thenReturn(Optional.of(report)); when(transportReportRepository.get(MESSAGE_ID_1)).thenReturn(Optional.of(report));
doReturn(IS_AUTHOR_OR_READER).when(service).isAuthorOrReaderOfMessage(READER_IDENTIFIER.value()); doReturn(IS_AUTHOR_OR_READER).when(service).isAuthorOrReaderOfTransportReport(READER_IDENTIFIER.value());
var result = service.getTransportReport(GET_TRANSPORT_REPORT_REQUEST); var result = service.getTransportReport(GET_TRANSPORT_REPORT_REQUEST);
...@@ -260,7 +262,7 @@ public class XtaMessageServiceTest { ...@@ -260,7 +262,7 @@ public class XtaMessageServiceTest {
@Test @Test
void shouldReturnEmptyIfNotAuthorOrReader() { void shouldReturnEmptyIfNotAuthorOrReader() {
when(transportReportRepository.get(MESSAGE_ID_1)).thenReturn(Optional.of(report)); when(transportReportRepository.get(MESSAGE_ID_1)).thenReturn(Optional.of(report));
doReturn(IS_NOT_AUTHOR_OR_READER).when(service).isAuthorOrReaderOfMessage(READER_IDENTIFIER.value()); doReturn(IS_NOT_AUTHOR_OR_READER).when(service).isAuthorOrReaderOfTransportReport(READER_IDENTIFIER.value());
var result = service.getTransportReport(GET_TRANSPORT_REPORT_REQUEST); var result = service.getTransportReport(GET_TRANSPORT_REPORT_REQUEST);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment