Example #1
0
        public void UpdatePost_RealUpdate_GetsNewValuesLoaded()
        {
            var title       = "Some First Title";
            var FullContent = "Some First Full Content";


            BlogPostDraft d1 = new BlogPostDraft
            {
                BlogPostTemplateId = 15,
                PageTitle          = "Some Title 2",
                FullContent        = "FullContent 2",
                LastEdit           = new DateTime(2017, 6, 1)
            };
            BlogPostDraft d2 = new BlogPostDraft
            {
                BlogPostTemplateId = 15,
                PageTitle          = title,
                FullContent        = FullContent,
                LastEdit           = new DateTime(2017, 9, 1)
            };

            d1.UpdatePost(d2);

            Assert.AreEqual(d1.PageTitle, title);
            Assert.AreEqual(d1.FullContent, FullContent);
            Assert.AreEqual(d1.LastEdit, new DateTime(2017, 9, 1));
        }
Example #2
0
        private BlogPostDraft InValidDraftFactory()
        {
            var draft = new BlogPostDraft();

            draft.PageTitle   = "";
            draft.FullContent = "some content that doesn't matter";
            return(draft);
        }
Example #3
0
        private BlogPostDraft ValidDraftFactory()
        {
            var draft = new BlogPostDraft();

            draft.PageTitle   = "New Title";
            draft.FullContent = "something";
            return(draft);
        }
        public void SaveDraft_IdZeroAndUrlAlreadyExists_ReturnsFalse()
        {
            EFBlogPostRepository repo = new EFBlogPostRepository(SharedDbContext);

            BlogPostDraft draft = new BlogPostDraft
            {
                BlogPostTemplateId = 0,
                FullContent        = "Whatever",
                PageTitle          = "Draft Title No 4"
            };

            var shouldBeFalse = repo.SaveDraft(draft);

            Assert.IsFalse(shouldBeFalse);
        }
        public void SaveDraft_ZeroId_ReturnsTrue()
        {
            EFBlogPostRepository repo = new EFBlogPostRepository(SharedDbContext);

            BlogPostDraft draft = new BlogPostDraft
            {
                BlogPostTemplateId = 0,
                FullContent        = "some new full content for this test",
                PageTitle          = "A Test Page Title"
            };

            var shouldBeTrue = repo.SaveDraft(draft);

            Assert.IsTrue(shouldBeTrue);
        }
        public void SaveDraft_SaveExistingDraft_CountIsSame()
        {
            EFBlogPostRepository repo = new EFBlogPostRepository(SharedDbContext);
            var           countBefore = repo.Drafts.Count();
            BlogPostDraft repoDraft   = repo.Drafts
                                        .Where(d => d.PageTitle.ToLower() == "draft title no 4").FirstOrDefault();
            int id = repoDraft.BlogPostTemplateId;

            repoDraft.PageTitle   = "A Completely New Page Title";
            repoDraft.FullContent = "some completely new content";

            repo.SaveDraft(repoDraft);

            Assert.AreEqual(countBefore, repo.Drafts.Count());
        }
        public void SaveDraft_IdZeroAndUrlAlreadyExists_CountIsSame()
        {
            EFBlogPostRepository repo = new EFBlogPostRepository(SharedDbContext);

            BlogPostDraft draft = new BlogPostDraft
            {
                BlogPostTemplateId = 0,
                FullContent        = "Whatever",
                PageTitle          = "Draft Title No 7"
            };

            var countBefore = repo.Drafts.Count();

            repo.SaveDraft(draft);
            Assert.AreEqual(countBefore, repo.Drafts.Count());
        }
        public void SaveDraft_ZeroId_AddsNewDraft()
        {
            EFBlogPostRepository repo = new EFBlogPostRepository(SharedDbContext);

            BlogPostDraft draft = new BlogPostDraft
            {
                BlogPostTemplateId = 0,
                FullContent        = "some new full content for this test",
                PageTitle          = "A Test Page Title"
            };

            var countBefore = repo.Drafts.Count();

            repo.SaveDraft(draft);
            Assert.IsTrue(repo.Drafts.Count() > countBefore);
        }
        public void GetDraftById_IdDoesNotExist_ReturnsNull()
        {
            var draft = new BlogPostDraft
            {
                PageTitle          = "temp",
                BlogPostTemplateId = 15000
            };

            SharedDbContext.Drafts.Add(draft);
            SharedDbContext.SaveChanges();

            EFBlogPostRepository repo = new EFBlogPostRepository(SharedDbContext);

            var shouldBeNull = repo.GetDraftById(15005);

            Assert.IsNull(shouldBeNull);
        }
        private static IQueryable <BlogPostDraft> Generate10Drafts()
        {
            List <BlogPostDraft> drafts = new List <BlogPostDraft>();

            for (int i = 1; i < 10; i++)
            {
                BlogPostDraft d = new BlogPostDraft
                {
                    PageTitle   = $"Draft Title No {i}",
                    FullContent = $"Sample Content for post no {i}",
                    LastEdit    = new DateTime(2017, i, i)
                };
                d.AddCategories("DraftCat" + i, "OtherDraftCat");
                drafts.Add(d);
            }

            return(drafts.AsQueryable());
        }
        public void GetDraftById_IdExists_Retrieves()
        {
            var draftToSave = new BlogPostDraft
            {
                PageTitle          = "temp",
                BlogPostTemplateId = 15000
            };

            SharedDbContext.Drafts.Add(draftToSave);
            SharedDbContext.SaveChanges();
            EFBlogPostRepository repo = new EFBlogPostRepository(SharedDbContext);

            var draftToRetrieve = repo.GetDraftById(draftToSave.BlogPostTemplateId);

            Assert.IsNotNull(draftToRetrieve);

            Assert.AreEqual(draftToRetrieve, draftToSave);
        }
Example #12
0
        public void DeleteDraftById_RetrievesAndDeletesByIdViaRepo()
        {
            var mockRepo  = Substitute.For <IBlogPostRepository>();
            var fakeDraft = new BlogPostDraft
            {
                PageTitle   = "Fake Title",
                FullContent = "Some Fake Full Content"
            };

            mockRepo.GetDraftById(10).Returns(fakeDraft);
            var controller = new AdminController(mockRepo);

            controller.TempData = Substitute.For <ITempDataDictionary>();
            controller.DeleteDraftById(10);

            mockRepo.Received().GetDraftById(10);
            mockRepo.Received().DeleteDraft(fakeDraft);
        }
Example #13
0
        public void EditBlogPostDraft_NoTitle_DoesNotSaveInRepo()
        {
            var mockRepo = Substitute.For <IBlogPostRepository>();

            mockRepo.GetAllCategoriesUsed(false).Returns(new List <string>());
            var controller = new AdminController(mockRepo);

            var draft = new BlogPostDraft();

            draft.PageTitle   = "";
            draft.FullContent = "something";
            var model = new AdminEditBlogPostDraftModel(mockRepo)
            {
                Draft = draft
            };

            var result = controller.EditBlogPostDraft(model);

            mockRepo.DidNotReceive().SaveDraft(draft);
        }
Example #14
0
        public void UnPublishToDraft_RetainsValues()
        {
            string content = "Some Full Content";
            string title   = "Some Full Content";

            BlogPostPublished post = new BlogPostPublished
            {
                FullContent        = content,
                PageTitle          = title,
                BlogPostTemplateId = 40
            };

            BlogPostDraft draft = new BlogPostDraft();

            draft.UnPublishToDraft(post);

            Assert.AreEqual(draft.BlogPostTemplateId, 0);
            Assert.AreEqual(draft.FullContent, content);
            Assert.AreEqual(draft.PageTitle, title);
        }
Example #15
0
        public void PublishDraftToPost_ValidState_CallsRepoPublish()
        {
            var mockRepo = Substitute.For <IBlogPostRepository>();

            mockRepo.GetAllCategoriesUsed(false).Returns(new List <string>());
            var draft = new BlogPostDraft {
                PageTitle = "Something", FullContent = "something..."
            };
            var model = new AdminEditBlogPostDraftModel(mockRepo)
            {
                Draft = draft
            };

            var controller = new AdminController(mockRepo);

            controller.TempData = Substitute.For <ITempDataDictionary>();
            var result = controller.PublishDraftToPost(model);

            mockRepo.Received().PublishDraftToPost(draft);
        }
Example #16
0
        public void UpdatePost_WrongId_DoesNothingAndReturnsFalse()
        {
            BlogPostDraft d1 = new BlogPostDraft
            {
                BlogPostTemplateId = 5,
                PageTitle          = "Some Title",
                FullContent        = "FullContent"
            };
            BlogPostDraft d2 = new BlogPostDraft
            {
                BlogPostTemplateId = 15,
                PageTitle          = "Some Title 2",
                FullContent        = "FullContent 2"
            };

            d1.UpdatePost(d2);

            Assert.AreNotEqual(d1.BlogPostTemplateId, 15);
            Assert.AreNotEqual(d1.PageTitle, d2.PageTitle);
            Assert.AreNotEqual(d1.FullContent, d2.FullContent);
        }
Example #17
0
        public void PublishDraftToPost_RetainsValues()
        {
            string title   = "Some Example Title";
            string content = "Some Example Full Content";
            string author  = "Steven Jobison";

            var draft = new BlogPostDraft
            {
                PageTitle   = title,
                Author      = author,
                FullContent = content
            };

            var post = new BlogPostPublished();

            post.PublishDraftToPost(draft);

            Assert.AreEqual(title, post.PageTitle);
            Assert.AreEqual(content, post.FullContent);
            Assert.AreEqual(author, post.Author);
        }
Example #18
0
        public void DeleteDraft_CallsDeleteDraftRepo()
        {
            var mockRepo = Substitute.For <IBlogPostRepository>();

            mockRepo.GetAllCategoriesUsed(false).Returns(new List <string>());
            var draft = new BlogPostDraft {
                PageTitle = "Something", FullContent = "something..."
            };

            mockRepo.SaveDraft(draft);

            var controller = new AdminController(mockRepo);

            controller.TempData = Substitute.For <ITempDataDictionary>();
            var result = controller.DeleteDraft(new AdminEditBlogPostDraftModel(mockRepo)
            {
                Draft = draft
            });

            mockRepo.Received().DeleteDraft(draft);
        }