package com.flexpoker.core.chat; import static org.mockito.Mockito.verify; import java.util.Arrays; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.messaging.simp.SimpMessageSendingOperations; import com.flexpoker.model.chat.outgoing.PersonalChatMessage; public class SendSimplePersonalChatMessageCommandTest { @Mock private SimpMessageSendingOperations mockMessageSendingOperations; private SendSimplePersonalChatMessageCommand command; @Before public void setup() { MockitoAnnotations.initMocks(this); command = new SendSimplePersonalChatMessageCommand(mockMessageSendingOperations); } @Test public void testNonSystemUser() { String[] receiverUsernames = {"receiver1", "receiver2"}; command.execute(new PersonalChatMessage("this is a message from a user", "testuser", false, Arrays.asList(receiverUsernames))); verify(mockMessageSendingOperations).convertAndSendToUser("receiver1", "/topic/chat/personal/user", "testuser: this is a message from a user"); verify(mockMessageSendingOperations).convertAndSendToUser("receiver2", "/topic/chat/personal/user", "testuser: this is a message from a user"); } @Test public void testSystemUser() { String[] receiverUsernames = {"receiver1", "receiver2"}; command.execute(new PersonalChatMessage("this is a message from the system", null, true, Arrays.asList(receiverUsernames))); verify(mockMessageSendingOperations).convertAndSendToUser("receiver1", "/topic/chat/personal/system", "System: this is a message from the system"); verify(mockMessageSendingOperations).convertAndSendToUser("receiver2", "/topic/chat/personal/system", "System: this is a message from the system"); } }