public void VeneerSection_handles_section_name_not_present_in_model()
        {
            // Arrange
            var service = new Mock<IContentService>();
            var content = new Content
            {
                RefreshDate = DateTime.Now,
                Sections = new List<ContentSection>
                {
                    new ContentSection
                    {
                        Html = "<div id='home' />",
                        Id = "SectionNotUsedByThisModel"
                    }
                }
            };
            service.Setup(x => x.Get(It.IsAny<ContentTypes>())).Returns(content);

            var contentTypes = new List<ContentTypes>();

            var model = new VeneerBaseViewModel(service.Object, contentTypes);

            var viewContext = new ViewContext();
            var viewDataContainer = new Mock<IViewDataContainer>();
            var htmlHelper = new HtmlHelper(viewContext, viewDataContainer.Object);

            // Act
            var result = htmlHelper.VeneerSection(model, ContentTypes.HeaderWithMegaNav).ToHtmlString();

            // Assert
            Assert.That(result, Is.Empty);
        }
        public void VeneerSection_returns_markup_for_specified_content_section()
        {
            // Arrange
            var service = new Mock<IContentService>();
            var content = new Content
            {
                RefreshDate = DateTime.Now,
                Sections = new List<ContentSection>
                {
                    new ContentSection
                    {
                        Html = "<div id='home' />",
                        Id = "HeaderWithMegaNav"
                    }
                }
            };
            service.Setup(x => x.Get(It.IsAny<ContentTypes>())).Returns(content);

            var contentTypes = new List<ContentTypes> { ContentTypes.HeaderWithMegaNav };

            var model = new VeneerBaseViewModel(service.Object, contentTypes);

            var viewContext = new ViewContext();
            var viewDataContainer = new Mock<IViewDataContainer>();
            var htmlHelper = new HtmlHelper(viewContext, viewDataContainer.Object);

            // Act
            var result = htmlHelper.VeneerSection(model, ContentTypes.HeaderWithMegaNav).ToHtmlString();

            // Assert
            Assert.That(result, Is.EqualTo(content.Sections[0].Html));
        }
        public void VeneerSection_handles_model_with_no_sections()
        {
            // Arrange
            var service = new Mock<IContentService>();
            service.Setup(x => x.Get(It.IsAny<ContentTypes>())).Returns(new Content());

            var contentTypes = new List<ContentTypes>();

            var model = new VeneerBaseViewModel(service.Object, contentTypes);

            var viewContext = new ViewContext();
            var viewDataContainer = new Mock<IViewDataContainer>();
            var htmlHelper = new HtmlHelper(viewContext, viewDataContainer.Object);

            // Act
            var result = htmlHelper.VeneerSection(model, ContentTypes.HeaderWithMegaNav).ToHtmlString();

            // Assert
            Assert.That(result, Is.Empty);
        }