/// <summary> /// Send message(s) by adding Message object(s) to message queue and return server ack(s) /// </summary> public Task <GetMessageStatusResponse> SendMessage(SendMessageRequest request) { request.ValidateSendMessageRequest(_users); var response = new GetMessageStatusResponse { }; if (request.RecipientType == RecipientType.Single) { var message = new Message(request.SenderId, request.RecipientId, request.Content); var messageStatus = SendSingleMessage(message); response.MessageStatuses.Add(messageStatus); return(Task.FromResult(response)); } foreach (var user in _users) { if (request.SenderId != user) { var message = new Message(request.SenderId, user, request.Content); var messageStatus = SendSingleMessage(message); response.MessageStatuses.Add(messageStatus); } } return(Task.FromResult(response)); }
[InlineData("1")] // The recipient is '0' and the sender is '1' public void Given_Valid_Recipient_Return_True(string recipientId) { var sendMessageRequest = new SendMessageRequest { SenderId = "0", RecipientType = recipientId == "All" ? RecipientType.All : RecipientType.Single, RecipientId = recipientId, Content = "some message" }; var result = sendMessageRequest.ValidateSendMessageRequest(_twoUsers); result.Should().BeTrue(); }
public void Given_Message_Of_Valid_Length_Return_True() { var sendMessageRequest = new SendMessageRequest { SenderId = "0", RecipientType = RecipientType.Single, RecipientId = "1", Content = "this is less than 100 characters" }; var result = sendMessageRequest.ValidateSendMessageRequest(_twoUsers); result.Should().BeTrue(); }
public void Given_A_Sender_Is_Specified_Return_True() { var sendMessageRequest = new SendMessageRequest { SenderId = "0", RecipientType = RecipientType.Single, RecipientId = "1", Content = "some message" }; var result = sendMessageRequest.ValidateSendMessageRequest(_twoUsers); result.Should().BeTrue(); }