public void Show_sets_version_to_1_when_not_provided() { const string Slug = "slug"; var validator = Mock.Of<ICodeValidator>(); var mockRepository = new Mock<IPostRepository>(); mockRepository.Setup(x => x.GetVersion(Slug, 1)).Returns(new Post()); var controller = new HomeController(mockRepository.Object, validator).WithContext(false); var result = controller.Show(Slug, null) as ViewResult; Assert.NotNull(result); var viewModel = result.Model as PostViewModel; Assert.NotNull(viewModel); mockRepository.Verify(x => x.GetVersion(Slug, 1), Times.Once()); }
public void Show_returns_Json_when_responding_to_ajax_requests() { var validator = Mock.Of<ICodeValidator>(); var mockRepository = new Mock<IPostRepository>(); mockRepository.Setup(x => x.GetVersion(It.IsAny<string>(), It.IsAny<int>())).Returns(new Post()); var controller = new HomeController(mockRepository.Object, validator).WithContext(true); var result = controller.Show(null, null) as JsonResult; Assert.NotNull(result); }
public void Show_returns_the_Error_view_when_the_post_could_not_be_found() { var validator = Mock.Of<ICodeValidator>(); var mockRepository = new Mock<IPostRepository>(); mockRepository.Setup(x => x.GetVersion(It.IsAny<string>(), It.IsAny<int>())).Returns<Post>(null); var controller = new HomeController(mockRepository.Object, validator).WithContext(false); var result = controller.Show(null, null) as ViewResult; Assert.NotNull(result); Assert.Equal("Error", result.ViewName); }
public void Show_redirects_if_version_is_less_than_1() { const string Slug = "slug"; var repository = Mock.Of<IPostRepository>(); var validator = Mock.Of<ICodeValidator>(); var controller = new HomeController(repository, validator); var result = controller.Show(Slug, 0) as RedirectToRouteResult; Assert.NotNull(result); Assert.Equal(Slug, result.RouteValues[Slug]); }