public void Created_IDisposableObject_RegistersForDispose() { // Arrange var mockHttpContext = new Mock<DefaultHttpContext>(); mockHttpContext.Setup(x => x.Response.OnResponseCompleted(It.IsAny<Action<object>>(), It.IsAny<object>())); var uri = new Uri("/test/url", UriKind.Relative); var controller = new TestableController() { ActionContext = new ActionContext(mockHttpContext.Object, new RouteData(), new ActionDescriptor()) }; var input = new DisposableObject(); // Act var result = controller.Created(uri, input); // Assert Assert.IsType<CreatedResult>(result); Assert.Equal(StatusCodes.Status201Created, result.StatusCode); Assert.Equal(uri.OriginalString, result.Location); Assert.Same(input, result.Value); mockHttpContext.Verify( x => x.Response.OnResponseCompleted(It.IsAny<Action<object>>(), It.IsAny<object>()), Times.Once()); }
public void Created_WithStringParameter_SetsCreatedLocation() { // Arrange var controller = new TestableController(); var uri = "http://test/url"; // Act var result = controller.Created(uri, null); // Assert Assert.IsType<CreatedResult>(result); Assert.Equal(StatusCodes.Status201Created, result.StatusCode); Assert.Same(uri, result.Location); }
public void Created_WithRelativeUriParameter_SetsCreatedLocation() { // Arrange var controller = new TestableController(); var uri = new Uri("/test/url", UriKind.Relative); // Act var result = controller.Created(uri, null); // Assert Assert.IsType<CreatedResult>(result); Assert.Equal(StatusCodes.Status201Created, result.StatusCode); Assert.Equal(uri.OriginalString, result.Location); }
public void Created_IDisposableObject_RegistersForDispose() { // Arrange var mockHttpContext = new Mock<HttpContext>(); mockHttpContext.Setup(x => x.Response.RegisterForDispose(It.IsAny<IDisposable>())); var uri = new Uri("/test/url", UriKind.Relative); var controller = new TestableController(); controller.ControllerContext.HttpContext = mockHttpContext.Object; var input = new DisposableObject(); // Act var result = controller.Created(uri, input); // Assert Assert.IsType<CreatedResult>(result); Assert.Equal(StatusCodes.Status201Created, result.StatusCode); Assert.Equal(uri.OriginalString, result.Location); Assert.Same(input, result.Value); mockHttpContext.Verify( x => x.Response.RegisterForDispose(It.IsAny<IDisposable>()), Times.Once()); }