1 package de.juplo.kafka.chat.backend.domain;
3 import org.junit.jupiter.api.DisplayName;
4 import org.junit.jupiter.api.Test;
5 import reactor.core.publisher.Flux;
6 import reactor.core.publisher.Mono;
8 import java.time.Clock;
11 import static org.mockito.Mockito.mock;
12 import static pl.rzrz.assertj.reactor.Assertions.assertThat;
15 public class ChatHomeTest
18 @DisplayName("Assert chatroom is delivered, if it exists")
19 void testGetExistingChatroom()
22 ChatHomeService chatHomeService = mock(ChatHomeService.class);
23 ChatRoomService chatRoomService = mock(ChatRoomService.class);
24 UUID chatroomId = UUID.randomUUID();
25 ChatRoom chatRoom = new ChatRoom(chatroomId, "Foo", Clock.systemDefaultZone(), chatRoomService, 8);
26 ChatHome chatHome = new ChatHome(chatHomeService, Flux.just(chatRoom));
29 Mono<ChatRoom> mono = chatHome.getChatroom(chatroomId);
32 assertThat(mono).emitsExactly(chatRoom);
36 @DisplayName("Assert UnknownChatroomException is thrown, if chatroom does not exist")
37 void testGetNonExistentChatroom()
40 ChatHomeService chatHomeService = mock(ChatHomeService.class);
41 ChatHome chatHome = new ChatHome(chatHomeService, Flux.empty());
44 Mono<ChatRoom> mono = chatHome.getChatroom(UUID.randomUUID());
47 assertThat(mono).sendsError();