Skip to content
Snippets Groups Projects
Commit 7db9c63f authored by Jan Zickermann's avatar Jan Zickermann
Browse files

#4 OZG-7112 Add missing test

parent e2fc4d2c
Branches
Tags
1 merge request!4Resolve "Senden von Nachrichten vorbereiten"
Pipeline #1194 passed
package de.ozgcloud.nachrichten.postfach.osiv2; package de.ozgcloud.nachrichten.postfach.osiv2;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.util.stream.Stream;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks; import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Spy; import org.mockito.Spy;
import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
import de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachNachrichtTestFactory;
import de.ozgcloud.nachrichten.postfach.osiv2.transfer.PostfachApiFacadeService;
class OsiPostfachRemoteServiceTest { class OsiPostfachRemoteServiceTest {
@Spy @Spy
@InjectMocks @InjectMocks
private OsiPostfachRemoteService osiPostfachRemoteService; private OsiPostfachRemoteService osiPostfachRemoteService;
@Mock
private PostfachApiFacadeService postfachApiFacadeService;
private final PostfachNachricht nachricht1 = PostfachNachrichtTestFactory.createBuilder()
.subject("Nachricht 1")
.build();
private final PostfachNachricht nachricht2 = PostfachNachrichtTestFactory.createBuilder()
.subject("Nachricht 2")
.build();
@DisplayName("send message") @DisplayName("send message")
@Nested @Nested
class TestSendMessage { class TestSendMessage {
// TODO
@DisplayName("should call send message")
@Test
void shouldCallSendMessage() {
postfachApiFacadeService.sendMessage(nachricht1);
verify(postfachApiFacadeService).sendMessage(nachricht1);
}
} }
@DisplayName("get all messages") @DisplayName("get all messages")
@Nested @Nested
class TestGetAllMessages { class TestGetAllMessages {
// TODO
@DisplayName("should return postfach messages")
@Test
void shouldReturnPostfachMessages() {
when(postfachApiFacadeService.receiveMessages()).thenReturn(Stream.of(nachricht1, nachricht2));
var result = osiPostfachRemoteService.getAllMessages();
assertThat(result).containsExactly(nachricht1, nachricht2);
}
} }
@DisplayName("delete message") @DisplayName("delete message")
......
package de.ozgcloud.nachrichten.postfach.osiv2.transfer;
import static de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachAddressTestFactory.*;
import static org.mockito.Mockito.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
import de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachNachrichtTestFactory;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeSendMessageResponse;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.OutSendMessageRequestV2;
import reactor.core.publisher.Mono;
class PostfachApiFacadeServiceTest {
@InjectMocks
PostfachApiFacadeService postfachApiFacadeService;
@Mock
MessageExchangeApi messageExchangeApi;
@Mock
RequestMapper requestMapper;
@Mock
ResponseMapper responseMapper;
@DisplayName("send message")
@Nested
class TestSendMessage {
@Mock
OutSendMessageRequestV2 outSendMessageRequestV2;
@Mock
MessageExchangeSendMessageResponse messageExchangeSendMessageResponse;
private final PostfachNachricht nachricht = PostfachNachrichtTestFactory.create();
@BeforeEach
void mock() {
var responseMono = Mono.just(messageExchangeSendMessageResponse);
when(requestMapper.mapMailboxId(nachricht)).thenReturn(MAILBOX_ID);
when(requestMapper.mapOutSendMessageRequestV2(nachricht)).thenReturn(outSendMessageRequestV2);
when(messageExchangeApi.sendMessage(any(), any())).thenReturn(responseMono);
}
@DisplayName("should call sendMessage")
@Test
void shouldCallSendMessage() {
postfachApiFacadeService.sendMessage(nachricht);
verify(messageExchangeApi).sendMessage(MAILBOX_ID, outSendMessageRequestV2);
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment