public void HttpStatusCodeResult_ExecuteResultSetsResponseStatusCode() { // Arrange var result = new HttpStatusCodeResult(StatusCodes.Status404NotFound); var httpContext = new DefaultHttpContext(); var routeData = new RouteData(); var actionDescriptor = new ActionDescriptor(); var context = new ActionContext(httpContext, routeData, actionDescriptor); // Act result.ExecuteResult(context); // Assert Assert.Equal(StatusCodes.Status404NotFound, httpContext.Response.StatusCode); }
public async Task<IActionResult> Get(string productId) { IActionResult result; var productResult = await _byIdQuery.ExecuteAsync(productId); if(productResult == null) { _logger.LogInformation("Product {productId} doesn't exist.", productId); result = HttpNotFound(); } else if (productResult.Product.DeletedOn != null) { _logger.LogInformation("Product {productId} exists but has been marked as deleted.", productId); result = new HttpStatusCodeResult(410); } else { _logger.LogVerbose("Product {productId} has been found.", productId); result = Ok(productResult.Product); } return result; }