public async Task Place_Customer_Order_Should_Return_BadRequest() { // Arrange using var httpClient = new TestClientProvider().HttpClient; var tokenResponse = await httpClient.PostAsync($"/api/auth/token", new StringContent("{}", Encoding.UTF8, "application/json")); var token = JsonConvert.DeserializeObject <HttpServiceResponseBase <string> >(await tokenResponse.Content.ReadAsStringAsync()).Data; var customerId = "6003ec40986bbf1afe1d5336"; var command = new PlaceCustomerOrderCommand { Products = new System.Collections.Generic.List <ProductDto>() }; var json = JsonConvert.SerializeObject(command); var data = new StringContent(json, Encoding.UTF8, "application/json"); // Act httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var response = await httpClient.PostAsync($"/api/customers/{customerId}/orders", data); var customerOrderError = JsonConvert.DeserializeObject <HttpServiceResponseBase>(await response.Content.ReadAsStringAsync()).Error; // Assert customerOrderError.Exception.Should().NotBeNullOrEmpty(); customerOrderError.Code.Should().Be(HttpStatusCode.BadRequest); }
public async Task <IActionResult> Post([FromRoute] string customerId, [FromBody] PlaceCustomerOrderCommand command) { command.CustomerId = customerId; var response = await _mediator.Send(command); return(Result(response, HttpStatusCode.Created)); }
public async Task Place_Customer_Order_Should_Return_BadRequest() { // Arrange using var httpClient = new TestClientProvider().HttpClient; var tokenResponse = await httpClient.PostAsync($"/{AuthRoutes.TokenFullPath}", new StringContent("{}", Encoding.UTF8, "application/json")); var token = JsonConvert.DeserializeObject <ServiceResponse <string> >(await tokenResponse.Content.ReadAsStringAsync()).Data; var customerId = "60a03b395a473487fddaf5e9"; var command = new PlaceCustomerOrderCommand { Products = new List <ProductDto>() }; var json = JsonConvert.SerializeObject(command); var data = new StringContent(json, Encoding.UTF8, "application/json"); // Act httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var response = await httpClient.PostAsync($"{CustomerRoutes.Customers}/{customerId}/orders", data); var customerOrderError = JsonConvert.DeserializeObject <ServiceResponse>(await response.Content.ReadAsStringAsync()).Error; // Assert customerOrderError.Exception.Should().NotBeNullOrEmpty(); customerOrderError.StatusCode.Should().Be(HttpStatusCode.BadRequest); }
public async Task <IActionResult> Post([FromRoute] string customerId, [FromBody] PlaceCustomerOrderCommand command) { command.CustomerId = customerId; var result = await _mediator.Send(command); return(Created(string.Empty, new HttpServiceResponseBase <string> { Data = result, Code = HttpStatusCode.Created })); }
public async Task Place_Customer_Order_Should_Return_CustomerOrderId() { // Arrange using var httpClient = new TestClientProvider().HttpClient; var tokenResponse = await httpClient.PostAsync($"/api/auth/token", new StringContent("{}", Encoding.UTF8, "application/json")); var token = JsonConvert.DeserializeObject <HttpServiceResponseBase <string> >(await tokenResponse.Content.ReadAsStringAsync()).Data; var customerId = "6003ec40986bbf1afe1d5336"; var command = new PlaceCustomerOrderCommand { Products = new List <ProductDto> { new ProductDto { Id = "6003fba51d70ba3fd5b6443b", Quantity = 1 }, new ProductDto { Id = "6003fba51d70ba3fd5b6443e", Quantity = 1 }, new ProductDto { Id = "6003fba51d70ba3fd5b64441", Quantity = 1 } } }; var json = JsonConvert.SerializeObject(command); var data = new StringContent(json, Encoding.UTF8, "application/json"); // Act httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var response = await httpClient.PostAsync($"/api/customers/{customerId}/orders", data); var customerOrder = JsonConvert.DeserializeObject <HttpServiceResponseBase <string> >(await response.Content.ReadAsStringAsync()).Data; // Assert customerOrder.Should().NotBeNullOrEmpty(); response.StatusCode.Should().Be(HttpStatusCode.Created); }