public virtual void SetUp()
        {
            _dibsPaymentProcessorMock = new Mock<IDibsPaymentProcessor>();
            _settingsBlock = Fixture.Create<SettingsBlock>();
            SetUpContentRepository();
            _identityProvider = new Mock<IIdentityProvider>();
            _receiptViewModelBuilderMock = new Mock<IReceiptViewModelBuilder>();
            _googleAnalyticsTracker = new Mock<IGoogleAnalyticsTracker>();
            _logger = new Mock<ILogger>();
            _permanentLinkMapper = new Mock<IPermanentLinkMapper>();

            _sut = new DibsPaymentController(_identityProvider.Object, _contentRepositoryMock.Object, _dibsPaymentProcessorMock.Object, _receiptViewModelBuilderMock.Object, _googleAnalyticsTracker.Object, _logger.Object);
        }
        protected virtual Chrome PopulateChrome(HomePage homePage, SettingsBlock settings)
        {
            var chrome = new Chrome();
            chrome.TopLeftMenu = homePage.TopLeftMenu;
            chrome.TopRightMenu = homePage.TopRightMenu;
            chrome.FooterMenu = GetFooterMenuContent(homePage);
            chrome.SocialMediaIcons = homePage.SocialMediaIcons;
            chrome.LoginPage = settings.LoginPage;
            chrome.AccountPage = settings.AccountPage;
            chrome.CheckoutPage = settings.CheckoutPage;
            chrome.SearchPage = settings.SearchPage;
            if (homePage.LogoImage != null)
            {
                chrome.LogoImageUrl = _urlResolver.GetUrl(homePage.LogoImage);
            }
            else
            {
                chrome.LogoImageUrl = new Url("/Content/Images/commerce-shop-logo.png");
            }

            chrome.HomePageUrl = _urlResolver.GetUrl(homePage.ContentLink);

            // Note! The natural place for the footer content is in the settings block
            // with the rest of the content, but that makes it impossible to edit the
            // content area on the page. So we keep it directly on the start page.
            chrome.GlobalFooterContent = homePage.GlobalFooterContent;

            // Set up languages for Chrome
            var contentLoader = ServiceLocator.Current.GetInstance<IContentLoader>();
            var startPage = contentLoader.Get<HomePage>(ContentReference.StartPage);
            chrome.Language = startPage.LanguageBranch;
            chrome.Languages = GetLanguageInfo(startPage);
            chrome.ColorScheme = settings.Scheme;
            return chrome;
        }