public void Expand_Always_ShouldCallExpandLogic() { var mockUrlLogic = new Mock <IUrlLogic>(); var urlsController = new UrlsController(mockUrlLogic.Object); //Act ActionResult actionResult = urlsController.Expand("shortUrl"); //Assert mockUrlLogic.Verify(x => x.Expand(It.IsAny <string>()), "expand should reach logic"); }
public void Expand_WithNoResultFromLogic_ShouldReturnNotFound() { var mockUrlLogic = new Mock <IUrlLogic>(); mockUrlLogic.Setup(x => x.Expand(It.IsAny <string>())).Returns((Link)null); var urlsController = new UrlsController(mockUrlLogic.Object); //Act ActionResult actionResult = urlsController.Expand("shortUrl"); //Assert actionResult.Should().BeOfType <HttpNotFoundResult>(); }
public void Expand_WithNoResultFromLogic_ShouldReturnNotFound() { var mockUrlLogic = new Mock <IUrlLogic>(); mockUrlLogic.Setup(x => x.Expand(It.IsAny <string>())).Returns((Link)null); var controller = new UrlsController(mockUrlLogic.Object); controller.Request = new HttpRequestMessage(); //Act var actionResult = controller.Expand("shortUrl"); //Assert (actionResult as HttpResponseMessage).StatusCode.ShouldBeEquivalentTo(HttpStatusCode.NotFound); }
public void Expand_WithNoResultFromLogic_ShouldReturnHttpResponseMessage() { var mockUrlLogic = new Mock <IUrlLogic>(); mockUrlLogic.Setup(x => x.Expand(It.IsAny <string>())).Returns((Link)null); var controller = new UrlsController(mockUrlLogic.Object); controller.Request = new HttpRequestMessage(); //Act var actionResult = controller.Expand("shortUrl"); //Assert actionResult.Should().BeOfType <HttpResponseMessage>(); }
public void Expand_WithResultFromLogic_ShouldRedirect() { var mockUrlLogic = new Mock <IUrlLogic>(); mockUrlLogic.Setup(x => x.Expand(It.IsAny <string>())).Returns(new Link() { LongUrl = "nonEmpty" }); var urlsController = new UrlsController(mockUrlLogic.Object); urlsController.ControllerContext = TestHelpers.CreateControllerContext(urlsController); //Act ActionResult actionResult = urlsController.Expand("shortUrl"); //Assert actionResult.Should().BeOfType <RedirectResult>(); }
public void Expand_WithValidResultFromLogic_ShouldRedirect() { var mockUrlLogic = new Mock <IUrlLogic>(); mockUrlLogic.Setup(x => x.Expand(It.IsAny <string>())).Returns(new Link() { LongUrl = "Valid.Url" }); var controller = new UrlsController(mockUrlLogic.Object); controller.Request = new HttpRequestMessage(); //Act var actionResult = controller.Expand("shortUrl"); //Assert (actionResult as HttpResponseMessage).StatusCode.ShouldBeEquivalentTo(HttpStatusCode.Moved); }