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); }
public void Old_BlogPost_URLs_Are_Working() { var url = $"{AppConfig.RootUrl}articles/hello-world"; Navigation.GoToUrl(url); Assert.IsTrue(BlogPostPage.IsAt("Hello World")); }
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)); }
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(); } }
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)); }
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(); } }
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(); } }
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)); } }
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)}"); } }
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); }