public async Task <ActionResult <IEnumerable <MessagesViewModel> > > Post([FromBody] CreateMessagesCommand command)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            return(Ok(await Mediator.Send(command)));
        }
        public async Task GivenMessageRequest_WhenPost_ThenAPostReturnsThePostedMessages()
        {
            var authQuery = new GetAuthenticationTokenQuery
            {
                UserName = "******",
                Password = "******"
            };

            AuthenticationToken authenticationToken;

            using (var postAuthResponse = await _client.PostAsJsonAsync($"/api/Auth", authQuery))
            {
                Assert.True(postAuthResponse.IsSuccessStatusCode);
                authenticationToken = await postAuthResponse.Content.ReadAsAsync <AuthenticationToken>();

                Assert.NotEmpty(authenticationToken.Token);
            }

            _client.DefaultRequestHeaders.Add("Authorization", $"Bearer {authenticationToken.Token}");

            var command = new CreateMessagesCommand
            {
                Messages = new List <MessagesViewModel>
                {
                    new MessagesViewModel
                    {
                        Id         = "1",
                        ReceivedAt = DateTime.UtcNow,
                        Title      = "Title 1.1",
                        Text       = "Text 1.1"
                    },
                    new MessagesViewModel
                    {
                        Id         = "1",
                        ReceivedAt = DateTime.UtcNow,
                        Title      = "Title 1.2",
                        Text       = "Text 1.2"
                    }
                }
            };

            List <MessagesViewModel> messages;

            using (var postMessagesResponse = await _client.PostAsJsonAsync($"/api/Messages", command))
            {
                Assert.True(postMessagesResponse.IsSuccessStatusCode);
                messages = await postMessagesResponse.Content.ReadAsAsync <List <MessagesViewModel> >();

                Assert.True(messages.Count == command.Messages.Count);
            }
        }