Ejemplo n.º 1
0
        public void Given_Service_When_GetMappedBlogPosts_Then_ReturnsMappedBlogPostsByCreateDateDescending()
        {
            var umbracoServiceMock = new Mock <IUmbracoService>();

            var mockedBlogPostPages = SetUpContentPagesMock(3, DocumentTypeAlias.BlogPostPage).ToList();

            for (var i = 0; i < mockedBlogPostPages.Count; i++)
            {
                mockedBlogPostPages[i].Setup(x => x.CreateDate).Returns(new DateTime(2018, 1 + i, 01));
            }

            var blogPostPagesPublishedContent = mockedBlogPostPages.Select(x => x.Object).ToList();

            umbracoServiceMock.Setup(x => x.GetAllPagesByDocumentTypeAtRootLevel(It.IsAny <string>()))
            .Returns(blogPostPagesPublishedContent);
            var umbracoMapper = new UmbracoMapperComposer().SetupMapper();

            var blogPostPageViewModelFactoryMock = new Mock <IBlogPostPageViewModelFactory>();
            var blogPostPage = new BlogPostPage();

            umbracoMapper.Map(mockedBlogPostPages.First().Object, blogPostPage);
            blogPostPageViewModelFactoryMock.Setup(x => x.CreateModel(It.IsAny <BlogPostPage>(), It.IsAny <ContentModel>())).Returns(blogPostPage);

            _sut = new BlogPostService(umbracoMapper, blogPostPageViewModelFactoryMock.Object);
            var blogPostPages = _sut.GetMappedBlogPosts(blogPostPagesPublishedContent);

            blogPostPages.Select(x => x.CreateDate).ShouldBeInOrder(SortDirection.Descending);
        }
Ejemplo n.º 2
0
        public void Old_BlogPost_URLs_Are_Working()
        {
            var url = $"{AppConfig.RootUrl}articles/hello-world";

            Navigation.GoToUrl(url);

            Assert.IsTrue(BlogPostPage.IsAt("Hello World"));
        }
Ejemplo n.º 3
0
        public void Can_Edit_Article_In_GitHub()
        {
            // Test the edit link with the second last blog post, which should be commited to GitHub already:
            var blogPost = DataToValidate.BlogPosts.ElementAt(DataToValidate.BlogPosts.Count() - 2);

            HomePage.GoToBlogPost(blogPost.Title);
            BlogPostPage.GoToEditPage();

            Assert.IsTrue(GitHubEditPage.IsAt(blogPost.PermalinkId));
        }
Ejemplo n.º 4
0
        public void Rss_Feed_Is_Working()
        {
            Navigation.GoToRssFeed();

            foreach (var blogPost in DataToValidate.BlogPosts.Reverse().Take(10))
            {
                RssFeed.GoToArticle(blogPost.Title);
                Assert.IsTrue(BlogPostPage.IsAt(blogPost.Title));
                Navigation.GoToRssFeed();
            }
        }
Ejemplo n.º 5
0
        public void Tag_Search_Is_Working()
        {
            var currentBlogPosts = HomePage.GetCurrentBlogPosts();
            var blogPostTitle    = currentBlogPosts.First();

            HomePage.GoToBlogPost(blogPostTitle);
            var tags = BlogPostPage.GetTags();

            BlogPostPage.GoToTag(tags.First());

            Assert.IsTrue(ArchivePage.GetAllBlogPosts().Contains(blogPostTitle));
        }
Ejemplo n.º 6
0
        public void Atom_Feed_Is_Working()
        {
            Footer.GoToAbout();
            AboutPage.GoToAtomFeed();

            foreach (var blogPost in DataToValidate.BlogPosts.Reverse().Take(10))
            {
                AtomFeed.GoToArticle(blogPost.Title);
                Assert.IsTrue(BlogPostPage.IsAt(blogPost.Title));
                Footer.GoToAbout();
                AboutPage.GoToAtomFeed();
            }
        }
Ejemplo n.º 7
0
        public void Archive_Shows_All_Posts_and_Links_Are_Working()
        {
            Navigation.GoToArchive();

            var allBlogPostsInArchive = ArchivePage.GetAllBlogPosts();

            Assert.AreEqual(DataToValidate.BlogPosts.Count(), allBlogPostsInArchive.Count());

            foreach (var blogPost in DataToValidate.BlogPosts)
            {
                ArchivePage.GoToBlogPost(blogPost.Title);
                Assert.IsTrue(BlogPostPage.IsAt(blogPost.Title));
                Navigation.GoToArchive();
            }
        }
Ejemplo n.º 8
0
        public void All_BlogPosts_Are_Available()
        {
            foreach (var blogPost in DataToValidate.BlogPosts)
            {
                var url = $"{AppConfig.RootUrl}{blogPost.PermalinkId}";
                Navigation.GoToUrl(url);

                Assert.IsTrue(BlogPostPage.IsAt(blogPost.Title));

                if (blogPost.Tags == null || !blogPost.Tags.Any())
                {
                    continue;
                }

                var tags = BlogPostPage.GetTags();
                Assert.IsTrue(blogPost.Tags.SequenceEqual(tags));
            }
        }
Ejemplo n.º 9
0
        public void All_BlogPosts_Are_Available()
        {
            foreach (var blogPost in DataToValidate.BlogPosts)
            {
                var url = $"{AppConfig.RootUrl}{blogPost.PermalinkId}";
                Navigation.GoToUrl(url);

                Assert.IsTrue(BlogPostPage.IsAt(blogPost.Title), $"Blog post not found: {blogPost.Title}");

                if (blogPost.Tags == null || !blogPost.Tags.Any())
                {
                    continue;
                }

                var tags = BlogPostPage.GetTags().ToList();

                Assert.IsTrue(blogPost.Tags.SequenceEqual(tags),
                              $"Tags did not match for blog post: {blogPost.Title}, Tags: {string.Join(" ", tags)}");
            }
        }
Ejemplo n.º 10
0
        public void Given_Service_When_GetMappedBlogPosts_Then_ReturnsMappedBlogPosts()
        {
            var umbracoServiceMock  = new Mock <IUmbracoService>();
            var mockedBlogPostPages = SetUpContentPages(2, DocumentTypeAlias.BlogPostPage).ToList();

            umbracoServiceMock.Setup(x => x.GetAllPagesByDocumentTypeAtRootLevel(It.IsAny <string>()))
            .Returns(mockedBlogPostPages);
            var umbracoMapper = new UmbracoMapperComposer().SetupMapper();

            var blogPostPageViewModelFactoryMock = new Mock <IBlogPostPageViewModelFactory>();
            var blogPostPage = new BlogPostPage();

            umbracoMapper.Map(mockedBlogPostPages.First(), blogPostPage);
            blogPostPageViewModelFactoryMock.Setup(x => x.CreateModel(It.IsAny <BlogPostPage>(), It.IsAny <ContentModel>())).Returns(blogPostPage);

            _sut = new BlogPostService(umbracoMapper, blogPostPageViewModelFactoryMock.Object);
            var blogPostPages = _sut.GetMappedBlogPosts(mockedBlogPostPages);

            blogPostPages.Count().ShouldBeGreaterThan(1);
        }