public void PostBlog_Should_Return_Created() { mockService.Setup(service => service.CreateBlog(It.IsAny <Blog>())) .Returns(blogForTest); var result = controller.PostBlog(new CreateBlogRequest()); var action = Assert.IsAssignableFrom <CreatedAtActionResult>(result.Result); }
public void PostBlogAddsBlog() { // Arrange BlogInfo blogInfo = new BlogInfo { Description = "New Testing", Title = "New Testy's Blog" }; _wordPressBlogReaderMock.Setup(m => m.VerifyBlog(It.IsAny <string>())).Returns(blogInfo); // Act IHttpActionResult actionResult = _controller.PostBlog( new BlogModel { BlogID = 0, BlogType = BlogTypes.WordPress, CreatedDate = new DateTime(2015, 12, 2, 14, 55, 32), Approved = false, AuthorEmail = "*****@*****.**", AuthorName = "TestNew McTesterson", Description = "New Testing", Link = "http://testy.wordpress.com", Title = "New Testy's Blog" }); // Assert // Verify: // Add is called just once with Blog object // Unit of work is committed just once // HTTP result is CreatedAtRouteNegotiatedContentResult // Location header is set in created result _blogRepositoryMock.Verify(p => p.Add(It.IsAny <Blog>()), Times.Once); _unitOfWorkMock.Verify(uow => uow.Commit(), Times.Once); Assert.IsInstanceOfType (actionResult, typeof(CreatedAtRouteNegotiatedContentResult <BlogModel>)); var createdResult = actionResult as CreatedAtRouteNegotiatedContentResult <BlogModel>; Assert.IsNotNull(createdResult); Assert.AreEqual(createdResult.RouteName, "DefaultApi"); }