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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
            }
        }
示例#9
0
        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);
 }
示例#14
0
        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);
        }
示例#17
0
        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);
        }
示例#18
0
        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);
        }
示例#20
0
        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);
        }
示例#21
0
        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);
        }
示例#22
0
        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);
        }
示例#23
0
        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();
        }
示例#24
0
        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);
        }
示例#25
0
        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>());
        }
示例#26
0
        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));
        }
示例#27
0
        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);
        }
示例#29
0
        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);
        }
示例#30
0
        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
            };
        }