public async Task AddNewMessageModelStateIsNotValid()
        {
            //Arrange
            var newMessage = new NewMessageDto();

            var controller = new MessageController(messageService.Object);

            //Act
            var action = await controller.AddNewMessage(newMessage) as BadRequestObjectResult;

            //Assert
            Assert.Equal(400, action.StatusCode);
            Assert.NotNull(action.Value);
        }
        public async Task AddNewMessageFailed()
        {
            //Arrange
            var newMessage = new NewMessageDto {
                Content = "test", IssueId = 1, SenderId = "test"
            };

            var controller = new MessageController(messageService.Object);

            messageService.Setup(x => x.AddNewMessage(newMessage)).Returns(Task.FromResult((GetIssueMessageDto)null));

            //Act
            var action = await controller.AddNewMessage(newMessage) as BadRequestObjectResult;

            //Assert
            Assert.Equal(400, action.StatusCode);
            Assert.NotNull(action.Value);
        }
        public async Task AddNewMessageModelSuccess()
        {
            //Arrange
            var newMessage = new NewMessageDto {
                Content = "test", IssueId = 1, SenderId = "test"
            };
            var issueMessage = new GetIssueMessageDto {
                Content = "test"
            };

            var controller = new MessageController(messageService.Object);

            messageService.Setup(x => x.AddNewMessage(newMessage)).Returns(Task.FromResult(issueMessage));

            //Act
            var action = await controller.AddNewMessage(newMessage) as CreatedAtActionResult;

            //Assert
            Assert.Equal(201, action.StatusCode);
            Assert.Equal("GetIssueMessage", action.ActionName);
        }