public async Task Index_ShouldCallRepository_AndReturnView()
        {
            // Setup
            var contactUsArea = new ContactUsArea("title",
                                                  "contact-us-area",
                                                  "contact-us-area",
                                                  new List <Crumb>(),
                                                  new List <Alert>(),
                                                  new List <SubItem>(),
                                                  new List <ContactUsCategory>(),
                                                  "insetTextTitle",
                                                  "InsetTextBody",
                                                  string.Empty);
            var response = new HttpResponse((int)HttpStatusCode.OK, contactUsArea, string.Empty);

            _repository.Setup(_ => _.Get <ContactUsArea>(It.IsAny <string>(), null))
            .ReturnsAsync(response);

            // Act
            var result = await _controller.Index();

            // Assert
            Assert.IsType <ViewResult>(result);

            _repository.Verify(_ => _.Get <ContactUsArea>(It.IsAny <string>(), null), Times.Once);
        }
        public virtual ProcessedContactUsArea Build(ContactUsArea contactUsArea)
        {
            var processedContactUsCategories = new List <ProcessedContactUsCategory>();

            foreach (var contactUsCategory in contactUsArea.ContactUsCategories)
            {
                processedContactUsCategories.Add(_contactUsCategoryFactory.Build(contactUsCategory));
            }

            return(new ProcessedContactUsArea(
                       contactUsArea.Title,
                       contactUsArea.Slug,
                       contactUsArea.CategoriesTitle,
                       contactUsArea.Breadcrumbs,
                       contactUsArea.PrimaryItems,
                       contactUsArea.Alerts,
                       processedContactUsCategories,
                       contactUsArea.InsetTextTitle,
                       contactUsArea.InsetTextBody,
                       contactUsArea.MetaDescription
                       ));
        }