public async Task NegotiatedContentResult_WritesHttpError() { // Arrange var httpContext = new DefaultHttpContext(); httpContext.RequestServices = CreateServices(); var stream = new MemoryStream(); httpContext.Response.Body = stream; var context = new ActionContext(httpContext, new RouteData(), new ActionDescriptor()); var result = new NegotiatedContentResult <Product>(HttpStatusCode.Ambiguous, new Product()); // Act await result.ExecuteResultAsync(context); // Assert using (var reader = new StreamReader(stream)) { stream.Seek(0, SeekOrigin.Begin); var content = reader.ReadToEnd(); Assert.Equal("{\"Id\":0,\"Name\":null}", content); } }
public async Task NegotiatedContentResult_SetsStatusCode() { // Arrange var httpContext = new DefaultHttpContext(); httpContext.RequestServices = CreateServices(); var stream = new MemoryStream(); httpContext.Response.Body = stream; var context = new ActionContext(httpContext, new RouteData(), new ActionDescriptor()); var result = new NegotiatedContentResult <Product>(HttpStatusCode.Ambiguous, new Product()); // Act await result.ExecuteResultAsync(context); // Assert Assert.Equal(300, context.HttpContext.Response.StatusCode); }