public void WhenGetBlogPosts_ReturnResult() { var responseMock = new List <BlogPost>(); responseMock.Add(new BlogPost { PostId = 1, Category = new BlogCategory { CategoryId = 1, Name = "Category Alpha" }, Creator = "User One", Title = "My first post", Body = "Hello!", Dt = DateTime.Now }); responseMock.Add(new BlogPost { PostId = 2, Category = new BlogCategory { CategoryId = 2, Name = "Category Beta" }, Creator = "User Two", Title = "Otra publicación", Body = "Probando el blog", Dt = DateTime.Now }); var loggerMock = new Mock <ILogger <BlogPostController> >(); var postServiceMock = new Mock <IBlogPostService>(); postServiceMock.Setup(p => p.GetAll()).Returns(responseMock); var categoryServiceMock = new Mock <IBlogCategoryService>(); var controller = new BlogPostController(loggerMock.Object, postServiceMock.Object, categoryServiceMock.Object); var posts = controller.GetBlogPosts(); Assert.NotNull(posts); Assert.Equal(2, posts.Count()); }
public void GivenABlogPost_WhenDelete_ReturnResult() { var deleteData = new BlogPost { PostId = 1, Category = new BlogCategory { CategoryId = 1, Name = "Category Alpha" }, Creator = "User One", Title = "My first post", Body = "Hello!", Dt = DateTime.Now }; var loggerMock = new Mock <ILogger <BlogPostController> >(); var postServiceMock = new Mock <IBlogPostService>(); postServiceMock.Setup(p => p.Delete(It.IsAny <BlogPost>())); postServiceMock.Setup(p => p.Get(1)).Returns(deleteData); var categoryServiceMock = new Mock <IBlogCategoryService>(); var controller = new BlogPostController(loggerMock.Object, postServiceMock.Object, categoryServiceMock.Object); var result = controller.DeleteBlogPost(1); Assert.NotNull(result); var actionResult = Assert.IsType <ActionResult <BlogPostViewModel> >(result); var returnedDelete = Assert.IsType <BlogPostViewModel>(actionResult.Value); Assert.Equal(1, returnedDelete.PostId); Assert.Equal("My first post", returnedDelete.Title); Assert.Equal("Hello!", returnedDelete.Body); }
public void GivenABlogPost_WhenPut_ReturnResult() { var loggerMock = new Mock <ILogger <BlogPostController> >(); var postServiceMock = new Mock <IBlogPostService>(); postServiceMock.Setup(p => p.Update(It.IsAny <BlogPost>())); var categoryMock = new BlogCategory { CategoryId = 1, Name = "Category Alpha" }; var categoryServiceMock = new Mock <IBlogCategoryService>(); categoryServiceMock.Setup(p => p.Get(1)).Returns(categoryMock); var putData = new BlogPostViewModel { PostId = 1, CategoryId = 1, Creator = "User One", Title = "My first post", Body = "Hello!", Dt = DateTime.Now }; var controller = new BlogPostController(loggerMock.Object, postServiceMock.Object, categoryServiceMock.Object); var result = controller.PutBlogPost(1, putData); Assert.NotNull(result); var noContentResult = Assert.IsType <NoContentResult>(result); }
public void Put_WhenUpdatedAPost_ReturnsStatusCode() { List <BlogPost> posts = new List <BlogPost> { new BlogPost { Id = 1, Title = "First BlogPost", Author = "Oscar Recio", Content = "First BlogPost by Oscar Recio" }, new BlogPost { Id = 2, Title = "Second BlogPost", Author = "Edith Mendoza", Content = "Second BlogPost by Edith Mendoza" }, new BlogPost { Id = 3, Title = "Third BlogPost", Author = "Diego", Content = "Third BlogPost by Diego" } }; //Given BlogPostController blogPostController = new BlogPostController(inMemoryService); BlogPost post = new BlogPost { Id = 1, Title = "Blog Post", Author = "Roberto", Content = "Fourth Blog Post by Roberto" }; //When var getResult = blogPostController.Put(post); //Then Assert.IsType <OkResult>(getResult); }
public void GetById_WhenCalledWithExistingId_ReturnsOKResult_UsingFluentAssertions() { // List<BlogPost> posts = new List<BlogPost>{ // new BlogPost { Id = 1, Title = "First BlogPost", Author = "Oscar Recio", Content = "First BlogPost by Oscar Recio"}, // new BlogPost { Id = 2, Title = "Second BlogPost", Author = "Edith Mendoza", Content = "Second BlogPost by Edith Mendoza"}, // new BlogPost { Id = 3, Title = "Third BlogPost", Author = "Diego", Content = "Third BlogPost by Diego"} // }; // var mockService = new Mock<IBlogPostService>(); var fakePost = new BlogPost { Id = 1, Title = "First BlogPost", Author = "Oscar Recio", Content = "First BlogPost by Oscar Recio" }; mockService.Setup(serv => serv.GetById(1)).Returns(fakePost); //Arrange BlogPostController blogPostController = new BlogPostController(mockService.Object); //Act var getResult = (OkObjectResult)blogPostController.GetById(1); //Assert var expected = new BlogPost { Id = 1, Title = "First BlogPost", Author = "Oscar Recio", Content = "First BlogPost by Oscar Recio" }; getResult.Value.Should().BeEquivalentTo(expected); }
public async Task Given_ValidBlogPostProvided_When_Put_Then_UpdateBlogPost() { var options = new DbContextOptionsBuilder <Context>() .UseInMemoryDatabase(databaseName: "PutSuccess") .Options; using (var context = new Context(options)) { context.BlogPosts.AddRange(blogPosts); context.SaveChanges(); } using (var context = new Context(options)) { var updatedBlogPost = new BlogPost() { Id = blogPosts[0].Id, Title = blogPosts[0].Title, Content = "updated content", }; var service = new BlogPostController(new GenericRepository <BlogPost>(context)); var result = await service.PutBlogPost(updatedBlogPost.Id, updatedBlogPost); Assert.AreEqual(204, (result as StatusCodeResult).StatusCode); Assert.AreEqual("updated content", context.BlogPosts.Find(blogPosts[0].Id).Content); } }
public void BlogPostsWidget_FilterBlogPostsByCategories() { int countOfItemsWithCategories = 1; string blogTitle = "Blog"; string blogPost1Title = "BlogPost_WithCategory"; string blogPost2Title = "BlogPost_NoCategory"; string categoryTitle = "Test_Category"; BlogPostController blogPostsController = new BlogPostController(); try { Guid blogId = ServerOperations.Blogs().CreateBlog(blogTitle); ServerOperations.Blogs().CreatePublishedBlogPost(blogPost2Title, blogId); var taxonId = ServerOperations.Taxonomies().CreateHierarchicalTaxon(TaxonomiesConstants.CategoriesTaxonomyId, categoryTitle); var blogPost1Id = ServerOperations.Blogs().CreatePublishedBlogPost(blogPost1Title, blogId); ServerOperations.Blogs().AssignTaxonToBlogPost(blogPost1Id, "Category", taxonId); ITaxon taxonomy = TaxonomyManager.GetManager().GetTaxon(taxonId); var items = blogPostsController.Model.CreateListViewModel(taxonomy, 1).Items.ToArray(); Assert.AreEqual(countOfItemsWithCategories, items.Count()); Assert.IsTrue(items[0].Fields.Title.Equals(blogPost1Title, StringComparison.CurrentCulture), "The blog post with this title was not found!"); } finally { ServerOperations.Taxonomies().DeleteCategories(categoryTitle); ServerOperations.Blogs().DeleteAllBlogs(); } }
public async Task Given_ValidBlogPostProvided_When_Post_Then_CreateBlogPost() { var options = new DbContextOptionsBuilder <Context>() .UseInMemoryDatabase(databaseName: "CreateBlogPost") .Options; var newBlogPost = new BlogPost() { Title = "new blogPost", Content = "some content" }; using (var context = new Context(options)) { var service = new BlogPostController(new GenericRepository <BlogPost>(context)); var result = await service.PostBlogPost(newBlogPost); Assert.IsNotNull(context.BlogPosts.Find(newBlogPost.Id)); var actionResult = (result as ActionResult <BlogPost>).Result as CreatedAtActionResult; Assert.AreEqual(201, actionResult.StatusCode); Assert.AreEqual("GetBlogPost", actionResult.ActionName); Assert.AreEqual(newBlogPost.Id, actionResult.RouteValues.GetValueOrDefault("id")); Assert.AreEqual(newBlogPost, actionResult.Value); } }
public async Task GetBlogPostReturnsOkResponse() { // Arrange BlogPost blogPost = new BlogPost { Slug = "augmented_reality_iOS_application", Title = "Augmented Reality iOS Application", Description = "Rubicon Software Development and Gazzda furniture are proud to launch an augmented reality app.", Body = "The app is simple to use, and will help you decide on your best furniture fit.", TagList = new string[] { "iOS", "AR" } }; var mockRepository = new Mock <IBlogPostService>(); mockRepository.Setup(s => s.GetBlogPostBySlug(blogPost.Slug)) .Returns(Task.FromResult(blogPost)); var controller = new BlogPostController(mockRepository.Object); // Act IHttpActionResult actionResult = await controller.GetBlogPost(blogPost.Slug); var createdResult = actionResult as OkNegotiatedContentResult <BlogPost>; // Assert Assert.IsNotNull(actionResult); Assert.IsNotNull(createdResult.Content); Assert.IsInstanceOfType(createdResult.Content, typeof(BlogPost)); Assert.AreEqual("augmented_reality_iOS_application", blogPost.Slug); }
public void Check_GetById_Type() { BlogPostController postController = new BlogPostController(); var post = postController.GetById(1); Assert.IsType <OkObjectResult>(post); }
public void Check_GetAllPost_Type() { BlogPostController postController = new BlogPostController(); var posts = postController.GetAllPosts(); Assert.IsType <OkObjectResult>(posts); }
public void GivenABlogPost_WhenPost_ReturnResult() { var loggerMock = new Mock <ILogger <BlogPostController> >(); var postServiceMock = new Mock <IBlogPostService>(); postServiceMock.Setup(p => p.Add(It.IsAny <BlogPost>())); var categoryMock = new BlogCategory { CategoryId = 1, Name = "Category Alpha" }; var categoryServiceMock = new Mock <IBlogCategoryService>(); categoryServiceMock.Setup(p => p.Get(1)).Returns(categoryMock); var postData = new BlogPostViewModel { CategoryId = 1, Creator = "User One", Title = "My first post", Body = "Hello!", Dt = DateTime.Now }; var controller = new BlogPostController(loggerMock.Object, postServiceMock.Object, categoryServiceMock.Object); var post = controller.PostBlogPost(postData); Assert.NotNull(post); var actionResult = Assert.IsType <ActionResult <BlogPostViewModel> >(post); var createdAtActionResult = Assert.IsType <CreatedAtActionResult>(actionResult.Result); var returnedPost = Assert.IsType <BlogPostViewModel>(createdAtActionResult.Value); Assert.Equal("My first post", returnedPost.Title); Assert.Equal("Hello!", returnedPost.Body); }
public void Setup() { _repository = MockRepository.GenerateMock <IRepository>(); _resolver = MockRepository.GenerateStub <IUrlResolver>(); _blogPostCommentService = MockRepository.GenerateStub <IBlogPostCommentService>(); _userService = MockRepository.GenerateStub <IUserService>(); _tagService = MockRepository.GenerateStub <ITagService>(); _controller = new BlogPostController(_repository, _resolver, _blogPostCommentService, _userService, _tagService); }
public void HasViewModel() { // Create an instance of the controller, and pass in our fake context and helper var controller = new BlogPostController(_mocker.UmbracoContextMock, _helper); var result = (ViewResult)controller.Index(); Assert.IsNotNull(result.ViewData.Model); Assert.IsInstanceOf <BlogPostViewModel>(result.ViewData.Model); }
public void Check_InsertNewPost() { BlogPostController postController = new BlogPostController(); var newPost = postController.InsertNewPost( new Post { Title = "Third Post", Author = "Diego", Content = "Third Post by Diego" } ); Assert.IsType <OkObjectResult>(newPost); }
public void Check_UpdatePost_Type() { BlogPostController postController = new BlogPostController(); var updatedPost = new Post { Id = 1, Title = "Updated Post", Author = "Alejandro Recio", Content = "Updated Content" }; var post = postController.Update(1, updatedPost); Assert.IsType <OkObjectResult>(post); }
public void UserCanSeeCommentBox(bool enabled) { // Ensure that getPropertyValue for commentsEnabled returns the expected boolean value StubProperty("commentsEnabled", enabled); // Create a fake UmbracoHelper that we can determine the values of _helper = new UmbracoHelper(_mocker.UmbracoContextMock, _currentPage); // Create an instance of the controller, and pass in our fake context and helper var controller = new BlogPostController(_mocker.UmbracoContextMock, _helper); var result = (ViewResult)controller.Index(); var viewModel = (BlogPostViewModel)result.Model; Assert.AreEqual(enabled, viewModel.ShowComments); }
public void HasBlogTags() { // Ensure that getPropertyValue for commentsEnabled returns the expected boolean value StubProperty("tag", "test,tags"); // Create a fake UmbracoHelper that we can determine the values of var helper = new UmbracoHelper(_mocker.UmbracoContextMock, _currentPage); // Create an instance of the controller, and pass in our fake context and helper var controller = new BlogPostController(_mocker.UmbracoContextMock, helper); var result = (ViewResult)controller.Index(); var viewModel = (BlogPostViewModel)result.Model; var array = new[] { "test", "tags" }; Assert.AreEqual(array, viewModel.BlogTags); }
public void SetUp() { _posts = new List<Post>(); _repository = MockRepository.GenerateStub<IRepository>(); _resolver = MockRepository.GenerateStub<IUrlResolver>(); _blogPostCommentService = MockRepository.GenerateStub<IBlogPostCommentService>(); _userService = MockRepository.GenerateStub<IUserService>(); _controller = new BlogPostController(_repository, _resolver, _blogPostCommentService, _userService); _testSlug = "TESTSLUG"; _post = new Post { Slug = _testSlug }; _posts.Add(_post); }
public void HasArticlePublishedDate() { var currentDateTime = DateTime.Today; // Ensure that getPropertyValue for commentsEnabled returns the expected boolean value Mock.Get(_currentPage).Setup(c => c.CreateDate).Returns(currentDateTime); // Create a fake UmbracoHelper that we can determine the values of var helper = new UmbracoHelper(_mocker.UmbracoContextMock, _currentPage); // Create an instance of the controller, and pass in our fake context and helper var controller = new BlogPostController(_mocker.UmbracoContextMock, helper); var result = (ViewResult)controller.Index(); var viewModel = (BlogPostViewModel)result.Model; Assert.AreEqual(currentDateTime, viewModel.ArticlePublishedDate); }
public async Task GetBlogPostReturnsOkNoResponseBody() { // Arrange var mockRepository = new Mock <IBlogPostService>(); var controller = new BlogPostController(mockRepository.Object); // Act IHttpActionResult actionResult = await controller.GetBlogPost("internet_trends_2018"); var createdResult = actionResult as OkNegotiatedContentResult <BlogPost>; // Assert Assert.IsNotNull(actionResult); Assert.IsNull(createdResult.Content); }
private MvcWidgetProxy CreateBlogPostsMvcWidget(ListDisplayMode displayMode, int itemsPerPage, string sortExpression) { var mvcProxy = new MvcWidgetProxy(); mvcProxy.ControllerName = typeof(BlogPostController).FullName; var controller = new BlogPostController(); controller.Model.DisplayMode = displayMode; controller.Model.ItemsPerPage = itemsPerPage; controller.Model.SortExpression = sortExpression; mvcProxy.Settings = new ControllerSettings(controller); return(mvcProxy); }
public void GetBlogPostsReturnsOkNoResponseBody() { // Arrange var mockRepository = new Mock <IBlogPostService>(); var controller = new BlogPostController(mockRepository.Object); // Act IHttpActionResult actionResult = controller.GetBlogPosts(); var createdResult = actionResult as OkNegotiatedContentResult <IEnumerable <BlogPost> >; // Assert Assert.IsNotNull(actionResult); Assert.IsNotNull(createdResult.Content); createdResult.Content.Should().BeEmpty(); }
public void SetUp() { _posts = new List <Post>(); _repository = MockRepository.GenerateStub <IRepository>(); _resolver = MockRepository.GenerateStub <IUrlResolver>(); _blogPostCommentService = MockRepository.GenerateStub <IBlogPostCommentService>(); _userService = MockRepository.GenerateStub <IUserService>(); _controller = new BlogPostController(_repository, _resolver, _blogPostCommentService, _userService); _testSlug = "TESTSLUG"; _post = new Post { Slug = _testSlug }; _posts.Add(_post); }
public void If_BlogPostRepository_Returns_Null_Then_Return_NotFoundResult() { var fixture = new Fixture(); var id = fixture.Create <int>(); var mockBlogPostRepository = new Mock <IBlogPostRepository>(); mockBlogPostRepository .Setup(x => x.Get(id)) .Returns <BlogPost>(null); var sut = new BlogPostController(mockBlogPostRepository.Object); var actual = sut.GetBlogPost(id); Assert.That(actual, Is.TypeOf <NotFoundResult>()); }
public async Task DeleteBlogPostReturnsNotFound() { // Arrange var mockRepository = new Mock <IBlogPostService>(); mockRepository.Setup(s => s.DeleteBlogPost("augmented_reality_ios_application")) .ThrowsAsync(new ArgumentException()); var controller = new BlogPostController(mockRepository.Object); // Act IHttpActionResult actionResult = await controller.DeleteBlogPost("augmented_reality_ios_application"); // Assert Assert.IsNotNull(actionResult); Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult)); }
public async Task DeleteBlogPostReturnsOkResponse() { // Arrange var mockRepository = new Mock <IBlogPostService>(); mockRepository.Setup(s => s.DeleteBlogPost("augmented_reality_ios_application")) .Returns(Task.FromResult(default(object))); var controller = new BlogPostController(mockRepository.Object); // Act IHttpActionResult actionResult = await controller.DeleteBlogPost("augmented_reality_ios_application"); // Assert Assert.IsNotNull(actionResult); Assert.IsInstanceOfType(actionResult, typeof(OkResult)); }
public async void WhenGetBlogPost_AndNotExists_ReturnNull() { var loggerMock = new Mock <ILogger <BlogPostController> >(); var postServiceMock = new Mock <IBlogPostService>(); postServiceMock.Setup(p => p.GetAsync(1)).Returns(Task.FromResult <BlogPost>(null)); var categoryServiceMock = new Mock <IBlogCategoryService>(); var controller = new BlogPostController(loggerMock.Object, postServiceMock.Object, categoryServiceMock.Object); var post = await controller.GetBlogPost(1); Assert.NotNull(post); var actionResult = Assert.IsType <ActionResult <BlogPostViewModel> >(post); var returnedMessage = Assert.IsType <NotFoundResult>(actionResult.Result); Assert.Equal((int)HttpStatusCode.NotFound, returnedMessage.StatusCode); }
public void GetById_WhenCalledWithNonExistingId_ReturnsNoContent() { // var mockService = new Mock<IBlogPostService>(); var fakePost = new BlogPost { Id = 1, Title = "First BlogPost", Author = "Oscar Recio", Content = "First BlogPost by Oscar Recio" }; mockService.Setup(serv => serv.GetById(1)).Returns(fakePost); //Arrange BlogPostController blogPostController = new BlogPostController(mockService.Object); //Act var getResult = blogPostController.GetById(4); //Assert Assert.IsType <NoContentResult>(getResult); }
public void Delete_WhenCalledWithNonExistingId_ReturnsNotFound() { // var mockService = new Mock<IBlogPostService>(); var fakePost = new BlogPost { Id = 1, Title = "First BlogPost", Author = "Oscar Recio", Content = "First BlogPost by Oscar Recio" }; mockService.Setup(serv => serv.GetById(1)).Returns(fakePost); //Given BlogPostController blogPostController = new BlogPostController(mockService.Object); //When var getResult = blogPostController.Delete(4); //Then Assert.IsType <NotFoundResult>(getResult); }
/// <summary> /// Add blog posts widget to existing page. /// </summary> /// <param name="pageId">The page Id.</param> /// <param name="placeholder">The placeholderId.</param> /// <param name="parentFilterMode">The parent filter mode.</param> public void AddBlogPostsWidgetToPage(Guid pageId, string placeholder, ParentFilterMode parentFilterMode) { PageManager pageManager = PageManager.GetManager(); pageManager.Provider.SuppressSecurityChecks = true; var pageDataId = pageManager.GetPageNode(pageId).PageId; var page = pageManager.EditPage(pageDataId, CultureInfo.CurrentUICulture); using (var mvcWidget = new Telerik.Sitefinity.Mvc.Proxy.MvcControllerProxy()) { mvcWidget.ControllerName = typeof(BlogPostController).FullName; var controller = new BlogPostController(); controller.Model.ParentFilterMode = parentFilterMode; mvcWidget.Settings = new ControllerSettings(controller); this.CreateControl(pageManager, page, mvcWidget, "Blog posts", placeholder); } }
public void Setup() { _repository = MockRepository.GenerateStub<IRepository>(); _resolver = MockRepository.GenerateStub<IUrlResolver>(); _blogPostCommentService = MockRepository.GenerateStub<IBlogPostCommentService>(); _userService = MockRepository.GenerateStub<IUserService>(); _tagService = MockRepository.GenerateStub<ITagService>(); _controller = new BlogPostController(_repository, _resolver, _blogPostCommentService, _userService, _tagService); }
public void SetUp() { _posts = new List<Post>(); _users = new List<User>(); _repository = MockRepository.GenerateStub<IRepository>(); _resolver = MockRepository.GenerateStub<IUrlResolver>(); _blogPostCommentService = MockRepository.GenerateStub<IBlogPostCommentService>(); _userService = MockRepository.GenerateStub<IUserService>(); _controller = new BlogPostController(_repository, _resolver, _blogPostCommentService, _userService); _post = new Post { Slug = _testSlug }; _posts.Add(_post); _repository .Stub(r => r.Query<Post>(null)) .IgnoreArguments() .Return(_posts.AsQueryable()); _repository .Stub(r => r.Query<User>(null)) .IgnoreArguments() .Return(_users.AsQueryable()); _testSlug = "TESTSLUG"; _invalidInput = new BlogPostCommentViewModel {Slug = _testSlug}; _validInput = new BlogPostCommentViewModel { DisplayName = "username", Email = "email", Body = "body", Subscribed = true, Slug = _testSlug }; }