public async Task SaveMessageToDB_ReturnsOkResultAsync()
        {
            // Arrange
            var message = new UnitTests.Chat.ServiceFake().ListChatMessages().FirstOrDefault();

            _repository.Setup(repo => repo.SaveMessageToDB(message)).ReturnsAsync(It.IsAny <int>);
            var sut = CreateSut();
            // Act
            var result = await sut.SaveMessageToDB(message);

            var okResult = result as OkObjectResult;

            // Assert
            Assert.NotNull(okResult);
            Assert.IsType <OkObjectResult>(result);
            Assert.Equal(StatusCodes.Status200OK, okResult.StatusCode);
        }
        public async Task SaveMessageToDB_AddModelStateInvalid_ReturnBadRequest()
        {
            // Arrange
            var message = new UnitTests.Chat.ServiceFake().ListChatMessages().FirstOrDefault();;

            _repository.Setup(repo => repo.SaveMessageToDB(message)).Throws(new Exception());
            var sut = CreateSut();

            sut.ModelState.AddModelError("test", "test");
            // Act
            var result = await sut.SaveMessageToDB(message);

            var okResult = result as StatusCodeResult;

            // Assert
            Assert.NotNull(okResult);
            Assert.IsType <BadRequestResult>(result);
            Assert.Equal(StatusCodes.Status400BadRequest, okResult.StatusCode);
        }