refactor: Removed Interface `ChatHomeService`
[demos/kafka/chat] / src / test / java / de / juplo / kafka / chat / backend / persistence / inmemory / SimpleChatHomeTest.java
1 package de.juplo.kafka.chat.backend.persistence.inmemory;
2
3 import de.juplo.kafka.chat.backend.domain.ChatRoom;
4 import de.juplo.kafka.chat.backend.domain.ChatRoomService;
5 import org.junit.jupiter.api.DisplayName;
6 import org.junit.jupiter.api.Test;
7 import reactor.core.publisher.Mono;
8
9 import java.time.Clock;
10 import java.util.UUID;
11
12 import static org.mockito.ArgumentMatchers.any;
13 import static org.mockito.ArgumentMatchers.anyInt;
14 import static org.mockito.Mockito.mock;
15 import static org.mockito.Mockito.when;
16 import static pl.rzrz.assertj.reactor.Assertions.assertThat;
17
18
19 public class SimpleChatHomeTest
20 {
21   @Test
22   @DisplayName("Assert chatroom is delivered, if it exists")
23   void testGetExistingChatroom()
24   {
25     // Given
26     InMemoryChatHomeService chatHomeService = mock(InMemoryChatHomeService.class);
27     ChatRoom chatRoom = new ChatRoom(
28         UUID.randomUUID(),
29         "Foo",
30         0,
31         Clock.systemDefaultZone(),
32         mock(ChatRoomService.class),
33         8);
34     when(chatHomeService.getChatRoom(anyInt(), any(UUID.class))).thenReturn(Mono.just(chatRoom));
35     SimpleChatHome chatHome = new SimpleChatHome(chatHomeService);
36
37     // When
38     Mono<ChatRoom> mono = chatHome.getChatRoom(chatRoom.getId());
39
40     // Then
41     assertThat(mono).emitsExactly(chatRoom);
42   }
43
44   @Test
45   @DisplayName("Assert UnknownChatroomException is thrown, if chatroom does not exist")
46   void testGetNonExistentChatroom()
47   {
48     // Given
49     InMemoryChatHomeService chatHomeService = mock(InMemoryChatHomeService.class);
50     when(chatHomeService.getChatRoom(anyInt(), any(UUID.class))).thenReturn(Mono.empty());
51     SimpleChatHome chatHome = new SimpleChatHome(chatHomeService);
52
53     // When
54     Mono<ChatRoom> mono = chatHome.getChatRoom(UUID.randomUUID());
55
56     // Then
57     assertThat(mono).sendsError();
58   }
59 }