public void ShouldBuildHomepageWithNoContentfulGroup()
        {
            var contentfulHomepage = new ContentfulHomepageBuilder().FeaturedGroups(new List <ContentfulGroup>()).Build();

            var homepage = _homepageContentfulFactory.ToModel(contentfulHomepage);

            homepage.FeaturedGroup.Should().BeNull();
        }
        public void ShouldBuildHomepageFromContentfulHomepage()
        {
            var contentfulHomepage = new ContentfulHomepageBuilder().Build();

            var homepage = _homepageContentfulFactory.ToModel(contentfulHomepage);

            homepage.FeaturedGroup.Should().NotBeNull();
            homepage.MetaDescription.Should().BeEquivalentTo("meta description");
        }
        public void ShouldNotFailIfNoGroupsCanBeUsed()
        {
            var contentfulHomepage = new ContentfulHomepageBuilder()
                                     .FeaturedGroups(new List <ContentfulGroup>()
            {
                new ContentfulGroupBuilder().DateHiddenFrom(new DateTime(2016, 01, 01)).DateHiddenTo(new DateTime(3000, 01, 01)).Build(),
                new ContentfulGroupBuilder().DateHiddenFrom(new DateTime(2016, 01, 01)).DateHiddenTo(new DateTime(3000, 01, 01)).Build(),
                new ContentfulGroupBuilder().DateHiddenFrom(new DateTime(2016, 01, 01)).DateHiddenTo(new DateTime(3000, 01, 01)).Build()
            }).Build();

            var homepage = _homepageContentfulFactory.ToModel(contentfulHomepage);

            homepage.FeaturedGroup.Should().BeNull();
        }
        public void ShouldPickFirstAvaliableFeaturedGroup()
        {
            var contentfulHomepage = new ContentfulHomepageBuilder()
                                     .FeaturedGroups(new List <ContentfulGroup>()
            {
                new ContentfulGroupBuilder().DateHiddenFrom(new DateTime(2016, 01, 01)).DateHiddenTo(new DateTime(2018, 01, 01)).Build(),
                new ContentfulGroupBuilder().Slug("a-custom-slug").Build(),
                new ContentfulGroupBuilder().Build()
            }).Build();

            var homepage = _homepageContentfulFactory.ToModel(contentfulHomepage);

            homepage.FeaturedGroup.Should().NotBeNull();
        }