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); } }