public async Task Edit_Ok() { //Arrange var _blogPost = TestHelper.GetBlogPostViewModel(); await _blogController.SavePost(_blogPost.SetAuthor(TestHelper.GetClaimsPrincipal())); //Need to Dispose to save new Blog and use on further tests _blogController.Dispose(); var response = await _blogController.List(); var blogPosts = response.GetModelFromViewResultResponse <IEnumerable <BlogPostViewModel> >(); var blogPost = blogPosts.FirstOrDefault(); //Act var editResponse = await _blogController.Edit(blogPost.Id); var editBlogPost = editResponse.GetModelFromViewResultResponse <BlogPostViewModel>(); //Assert Assert.True(editResponse is ViewResult); Assert.True(editBlogPost != null); Assert.Equal(blogPost.Id, editBlogPost.Id); }
public void Edit_Get_Returns404ForNonexistentBlogPost() { var repo = Mock.Create <IBlogPostRepository>(); var controller = new BlogController(repo); Mock.Arrange(() => repo.GetById(1)) .Returns(() => null); var result = controller.Edit(1); Assert.IsTrue(result is HttpNotFoundResult); }
public void GivenALoggedInUser_WhenITryAndEditABlog_ThenIGetTheCorrectView() { string nickname = "nickname"; _blogDomain.Setup(b => b.GetBlog(It.IsAny <string>())).Returns(new Blog("title", "description", true, true, nickname, 1)); var controller = new BlogController(_blogDomain.Object, null); ActionResult result = controller.Edit(new CreateBlogViewModel { Nickname = nickname }); Assert.That(result, Is.TypeOf <ViewResult>()); }
public void Edit_Get_SendsModelToView() { var repo = Mock.Create <IBlogPostRepository>(); var controller = new BlogController(repo); Mock.Arrange(() => repo.GetById(1)) .Returns(new BlogPost { Id = 1 }); var result = (ViewResult)controller.Edit(1); var model = (BlogPost)result.Model; Assert.AreEqual(1, model.Id); }
public void Edit_Post_ReturnsViewWithModelWhenModelStateIsInvalid() { var repo = Mock.Create <IBlogPostRepository>(); var controller = new BlogController(repo); var post = new BlogPost { Id = 1, Title = "", Content = "", DateCreated = DateTime.Now }; controller.ViewData.ModelState.AddModelError("key", "error message"); var result = (ViewResult)controller.Edit(post); Assert.AreEqual(post, result.Model as BlogPost); }
public void Edit_Post_EditOnRepositoryIsCalled() { var repo = Mock.Create <IBlogPostRepository>(); var controller = new BlogController(repo); Mock.Arrange(() => repo.Edit(Arg.IsAny <BlogPost>())) .MustBeCalled(); var post = new BlogPost { Id = 1, Title = "", Content = "", DateCreated = DateTime.Now }; var result = controller.Edit(post); Mock.Assert(repo); Assert.IsTrue(result is RedirectToRouteResult); }