Ejemplo n.º 1
0
        private void BuildPortalSettings(int tabId, PortalInfo portal)
        {
            PortalSettingsController.Instance().LoadPortalSettings(this);

            if (portal == null)
            {
                return;
            }

            PortalSettingsController.Instance().LoadPortal(portal, this);

            var key   = string.Join(":", "ActiveTab", portal.PortalID.ToString(), tabId.ToString());
            var items = HttpContext.Current != null ? HttpContext.Current.Items : null;

            if (items != null && items.Contains(key))
            {
                ActiveTab = items[key] as TabInfo;
            }
            else
            {
                ActiveTab = PortalSettingsController.Instance().GetActiveTab(tabId, this);
                if (items != null && ActiveTab != null)
                {
                    items[key] = ActiveTab;
                }
            }
        }
        private void BuildPortalSettings(int tabId, PortalInfo portal)
        {
            PortalSettingsController.Instance().LoadPortalSettings(this);

            if (portal == null)
            {
                return;
            }

            PortalSettingsController.Instance().LoadPortal(portal, this);

            ActiveTab = PortalSettingsController.Instance().GetActiveTab(tabId, this);
        }
        public void LoadPortalSettings_Loads_Default_Value(Dictionary<string, string> testFields)
        {
            //Arrange
            var propertyName = testFields["PropertyName"];
            var settingName = testFields["SettingName"];
            var isHostDefault = Boolean.Parse(testFields["IsHostDefault"]);
            var defaultValue = testFields["DefaultValue"];
            var controller = new PortalSettingsController();
            var settings = new PortalSettings() { PortalId = ValidPortalId};
            var hostSettings = PortalSettingsControllerTestFactory.GetHostSettings();

            var mockPortalController = new Mock<IPortalController>();
            mockPortalController
                .Setup(c => c.GetPortalSettings(It.IsAny<int>()))
                .Returns(new Dictionary<string, string>());
            PortalController.SetTestableInstance(mockPortalController.Object);

            var mockHostController = new Mock<IHostController>();
            mockHostController.Setup(c => c.GetString(It.IsAny<string>()))
                            .Returns((string s) => hostSettings[s]);
            mockHostController.Setup(c => c.GetString(It.IsAny<string>(), It.IsAny<string>()))
                            .Returns((string s1, string s2) => hostSettings[s1]);
            mockHostController.Setup(c => c.GetBoolean(It.IsAny<string>(), It.IsAny<bool>()))
                            .Returns((string s, bool b) => Boolean.Parse(hostSettings[s]));
            mockHostController.Setup(c => c.GetInteger(It.IsAny<string>(), It.IsAny<int>()))
                            .Returns((string s, int i) => Int32.Parse(hostSettings[s]));
            HostController.RegisterInstance(mockHostController.Object);

            if (isHostDefault)
            {
                defaultValue = hostSettings[settingName];
            }

            //Act
            controller.LoadPortalSettings(settings);


            //Assert
            var property = settings.GetType().GetProperty(propertyName);
            var actualValue = property.GetValue(settings, null);
            if (actualValue is bool)
            {
                Assert.AreEqual(defaultValue, actualValue.ToString().ToLower());
            }
            else
            {
                Assert.AreEqual(defaultValue, actualValue.ToString());
            }
        }
        public void ConfigureTab_Builds_Breadcrumbs_For_Tab_And_Parent()
        {
            //Arrange
            var controller = new PortalSettingsController();
            var settings = new PortalSettings { PortalId = ValidPortalId };
            var validTab = new TabInfo { TabID = ValidTabId, PortalID = ValidPortalId, ParentId = ParentTabId};
            var parentTab = new TabInfo { TabID = ParentTabId, PortalID = ValidPortalId };
            settings.ActiveTab = validTab;

            var mockLocaleController = new Mock<ILocaleController>();
            mockLocaleController.Setup(c => c.GetLocales(It.IsAny<int>())).Returns(new Dictionary<string, Locale>());
            LocaleController.RegisterInstance(mockLocaleController.Object);

            var mockTabController = new Mock<ITabController>();
            mockTabController.Setup(c => c.GetTabsByPortal(ValidPortalId)).Returns(new TabCollection(new List<TabInfo> { validTab, parentTab }));
            mockTabController.Setup(c => c.GetTabsByPortal(HostPortalId)).Returns(new TabCollection());
            TabController.SetTestableInstance(mockTabController.Object);

            //Act
            controller.ConfigureActiveTab(settings);

            //Assert
            var actualParent = settings.ActiveTab.BreadCrumbs[0] as TabInfo;
            var actualTab = settings.ActiveTab.BreadCrumbs[1] as TabInfo;
            Assert.AreEqual(2, settings.ActiveTab.BreadCrumbs.Count);
            Assert.AreEqual(ValidTabId, actualTab.TabID);
            Assert.AreEqual(ParentTabId, actualParent.TabID);
        }
        public void ConfigureTab_Formats_Tab_ContainerSrc_If_Neccessary()
        {
            //Arrange
            var controller = new PortalSettingsController();
            var settings = new PortalSettings { PortalId = ValidPortalId, DefaultPortalContainer = DefaultContainer };
            var validTab = new TabInfo { TabID = ValidTabId, PortalID = ValidPortalId, ContainerSrc = GlobalTabContainer };
            settings.ActiveTab = validTab;

            var mockLocaleController = new Mock<ILocaleController>();
            mockLocaleController.Setup(c => c.GetLocales(It.IsAny<int>())).Returns(new Dictionary<string, Locale>());
            LocaleController.RegisterInstance(mockLocaleController.Object);

            var mockTabController = new Mock<ITabController>();
            mockTabController.Setup(c => c.GetTabsByPortal(ValidPortalId)).Returns(new TabCollection(new List<TabInfo> { validTab }));
            mockTabController.Setup(c => c.GetTabsByPortal(HostPortalId)).Returns(new TabCollection());
            TabController.SetTestableInstance(mockTabController.Object);

            //Act
            controller.ConfigureActiveTab(settings);

            //Assert
            Assert.AreEqual(SkinController.FormatSkinSrc(GlobalTabContainer, settings), settings.ActiveTab.ContainerSrc);
        }
        public void ConfigureTab_Uses_Tab_SkinSrc_If_SkinSrc_Set()
        {
            //Arrange
            var controller = new PortalSettingsController();
            var settings = new PortalSettings { PortalId = ValidPortalId, DefaultPortalSkin = DefaultSkin };
            var validTab = new TabInfo { TabID = ValidTabId, PortalID = ValidPortalId, SkinSrc = TabSkin};
            settings.ActiveTab = validTab;

            var mockLocaleController = new Mock<ILocaleController>();
            mockLocaleController.Setup(c => c.GetLocales(It.IsAny<int>())).Returns(new Dictionary<string, Locale>());
            LocaleController.RegisterInstance(mockLocaleController.Object);

            var mockTabController = new Mock<ITabController>();
            mockTabController.Setup(c => c.GetTabsByPortal(ValidPortalId)).Returns(new TabCollection(new List<TabInfo> { validTab }));
            mockTabController.Setup(c => c.GetTabsByPortal(HostPortalId)).Returns(new TabCollection());
            TabController.SetTestableInstance(mockTabController.Object);

            //Act
            controller.ConfigureActiveTab(settings);

            //Assert
            Assert.AreEqual(TabSkin, settings.ActiveTab.SkinSrc);
        }
        public void GetActiveTab_Sets_StartDate_And_EndDate_Of_Tab_If_Not_Set()
        {
            //Arrange
            var controller = new PortalSettingsController();
            var settings = new PortalSettings { PortalId = ValidPortalId };
            var validTab = new TabInfo { TabID = ValidTabId, PortalID = ValidPortalId };

            var mockLocaleController = new Mock<ILocaleController>();
            mockLocaleController.Setup(c => c.GetLocales(It.IsAny<int>())).Returns(new Dictionary<string, Locale>());
            LocaleController.RegisterInstance(mockLocaleController.Object);

            var mockTabController = new Mock<ITabController>();
            mockTabController.Setup(c => c.GetTabsByPortal(ValidPortalId)).Returns(new TabCollection(new List<TabInfo> { validTab }));
            mockTabController.Setup(c => c.GetTabsByPortal(HostPortalId)).Returns(new TabCollection());
            TabController.SetTestableInstance(mockTabController.Object);

            //Act
            var tab = controller.GetActiveTab(ValidTabId, settings);

            //Assert
            Assert.AreEqual(DateTime.MinValue, tab.StartDate);
            Assert.AreEqual(DateTime.MaxValue, tab.EndDate);
        }
        public void GetActiveTab_Gets_Splash_Tab_If_InValid_TabId_And_Both_HomeTab_And_SplashTab_Set()
        {
            //Arrange
            var controller = new PortalSettingsController();
            var settings = new PortalSettings { PortalId = ValidPortalId, SplashTabId = SplashTabId, HomeTabId = HomeTabId};
            var splashTabId = new TabInfo { TabID = SplashTabId, PortalID = ValidPortalId };
            var homeTabId = new TabInfo { TabID = HomeTabId, PortalID = ValidPortalId };

            var mockLocaleController = new Mock<ILocaleController>();
            mockLocaleController.Setup(c => c.GetLocales(ValidPortalId)).Returns(new Dictionary<string, Locale>());
            LocaleController.RegisterInstance(mockLocaleController.Object);

            var mockTabController = new Mock<ITabController>();
            mockTabController.Setup(c => c.GetTabsByPortal(ValidPortalId)).Returns(new TabCollection(new List<TabInfo> { splashTabId, homeTabId }));
            TabController.SetTestableInstance(mockTabController.Object);

            //Act
            var tab = controller.GetActiveTab(InValidTabId, settings);

            //Assert
            Assert.AreEqual(SplashTabId, tab.TabID);
        }
        public void GetActiveTab_Gets_Correct_Tab_If_Valid_Host_TabId()
        {
            //Arrange
            var controller = new PortalSettingsController();
            var settings = new PortalSettings { PortalId = ValidPortalId };
            var validTab = new TabInfo { TabID = HostTabId, PortalID = HostPortalId };

            var mockLocaleController = new Mock<ILocaleController>();
            mockLocaleController.Setup(c => c.GetLocales(It.IsAny<int>())).Returns(new Dictionary<string, Locale>());
            LocaleController.RegisterInstance(mockLocaleController.Object);

            var mockTabController = new Mock<ITabController>();
            mockTabController.Setup(c => c.GetTabsByPortal(HostPortalId)).Returns(new TabCollection(new List<TabInfo> { validTab }));
            mockTabController.Setup(c => c.GetTabsByPortal(ValidPortalId)).Returns(new TabCollection());
            TabController.SetTestableInstance(mockTabController.Object);

            //Act
            var tab = controller.GetActiveTab(HostTabId, settings);

            //Assert
            Assert.AreEqual(validTab.TabID, tab.TabID);
        }
        public void LoadPortal_Loads_Portal_Property_Values()
        {
            //Arrange
            var controller = new PortalSettingsController();
            var portal = new PortalInfo()
            {
                Users = 2, 
                Pages = 5, 
                DefaultLanguage = Localization.SystemLocale,
                HomeDirectory = "Portals/0"
            };
            var settings = new PortalSettings() { PortalId = ValidPortalId };

            //Act
            controller.LoadPortal(portal,settings);

            //Assert
            Assert.AreEqual(portal.AdminTabId, settings.AdminTabId);
            Assert.AreEqual(portal.AdministratorId, settings.AdministratorId);
            Assert.AreEqual(portal.AdministratorRoleId, settings.AdministratorRoleId);
            Assert.AreEqual(portal.AdministratorRoleName, settings.AdministratorRoleName);
            Assert.AreEqual(portal.BackgroundFile, settings.BackgroundFile);
            Assert.AreEqual(portal.BannerAdvertising, settings.BannerAdvertising);
            Assert.AreEqual(portal.CultureCode, settings.CultureCode);
            Assert.AreEqual(portal.Currency, settings.Currency);
            Assert.AreEqual(portal.Custom404TabId, settings.ErrorPage404);
            Assert.AreEqual(portal.Custom500TabId, settings.ErrorPage500);
            Assert.AreEqual(portal.DefaultLanguage, settings.DefaultLanguage);
            Assert.AreEqual(portal.Description, settings.Description);
            Assert.AreEqual(portal.Email, settings.Email);
            Assert.AreEqual(portal.ExpiryDate, settings.ExpiryDate);
            Assert.AreEqual(portal.FooterText, settings.FooterText);
            Assert.AreEqual(portal.GUID, settings.GUID);
            Assert.AreEqual(Globals.ApplicationPath + "/" + portal.HomeDirectory + "/", settings.HomeDirectory);
            Assert.AreEqual(portal.HomeDirectoryMapPath, settings.HomeDirectoryMapPath);
            Assert.AreEqual(Globals.ApplicationPath + "/" + portal.HomeSystemDirectory + "/", settings.HomeSystemDirectory);
            Assert.AreEqual(portal.HomeSystemDirectoryMapPath, settings.HomeSystemDirectoryMapPath);
            Assert.AreEqual(portal.HomeTabId, settings.HomeTabId);
            Assert.AreEqual(portal.HostFee, settings.HostFee);
            Assert.AreEqual(portal.HostSpace, settings.HostSpace);
            Assert.AreEqual(portal.KeyWords, settings.KeyWords);
            Assert.AreEqual(portal.LoginTabId, settings.LoginTabId);
            Assert.AreEqual(portal.LogoFile, settings.LogoFile);
            Assert.AreEqual(portal.PageQuota, settings.PageQuota);
            Assert.AreEqual(portal.Pages, settings.Pages);
            Assert.AreEqual(portal.PortalName, settings.PortalName);
            Assert.AreEqual(portal.RegisterTabId, settings.RegisterTabId);
            Assert.AreEqual(portal.RegisteredRoleId, settings.RegisteredRoleId);
            Assert.AreEqual(portal.RegisteredRoleName, settings.RegisteredRoleName);
            Assert.AreEqual(portal.SearchTabId, settings.SearchTabId);
            Assert.AreEqual(portal.SiteLogHistory, settings.SiteLogHistory);
            Assert.AreEqual(portal.SplashTabId, settings.SplashTabId);
            Assert.AreEqual(portal.SuperTabId, settings.SuperTabId);
            Assert.AreEqual(portal.UserQuota, settings.UserQuota);
            Assert.AreEqual(portal.UserRegistration, settings.UserRegistration);
            Assert.AreEqual(portal.UserTabId, settings.UserTabId);
            Assert.AreEqual(portal.Users, settings.Users);
        }
        public void LoadPortalSettings_Sets_TimeZone_Property_To_Local_TimeZone()
        {
            //Arrange
            var controller = new PortalSettingsController();
            var settings = new PortalSettings() { PortalId = ValidPortalId };
            var hostSettings = PortalSettingsControllerTestFactory.GetHostSettings();

            var mockPortalController = new Mock<IPortalController>();
            mockPortalController
                .Setup(c => c.GetPortalSettings(It.IsAny<int>()))
                .Returns(new Dictionary<string, string>());
            PortalController.SetTestableInstance(mockPortalController.Object);

            var mockHostController = new Mock<IHostController>();
            mockHostController.Setup(c => c.GetString(It.IsAny<string>()))
                            .Returns((string s) => hostSettings[s]);
            mockHostController.Setup(c => c.GetString(It.IsAny<string>(), It.IsAny<string>()))
                            .Returns((string s1, string s2) => hostSettings[s1]);
            mockHostController.Setup(c => c.GetBoolean(It.IsAny<string>(), It.IsAny<bool>()))
                            .Returns((string s, bool b) => Boolean.Parse(hostSettings[s]));
            mockHostController.Setup(c => c.GetInteger(It.IsAny<string>(), It.IsAny<int>()))
                            .Returns((string s, int i) => Int32.Parse(hostSettings[s]));
            HostController.RegisterInstance(mockHostController.Object);

            //Act
            controller.LoadPortalSettings(settings);

            //Assert
            Assert.AreEqual(TimeZoneInfo.Local, settings.TimeZone);
        }
Ejemplo n.º 12
0
 public static PortalAliasMapping GetPortalAliasMappingMode(int portalId)
 {
     return(PortalSettingsController.Instance().GetPortalAliasMappingMode(portalId));
 }
        public void ConfigureTab_Builds_Breadcrumbs_For_Tab()
        {
            //Arrange
            var controller = new PortalSettingsController();
            var settings = new PortalSettings { PortalId = ValidPortalId, CultureCode = Null.NullString};
            var validTab = new TabInfo { TabID = ValidTabId, PortalID = ValidPortalId, SkinSrc = GlobalTabSkin };
            settings.ActiveTab = validTab;

            var mockLocaleController = new Mock<ILocaleController>();
            mockLocaleController.Setup(c => c.GetLocales(It.IsAny<int>())).Returns(new Dictionary<string, Locale>());
            LocaleController.RegisterInstance(mockLocaleController.Object);

            var mockTabController = new Mock<ITabController>();
            mockTabController.Setup(c => c.GetTabsByPortal(ValidPortalId)).Returns(new TabCollection(new List<TabInfo> { validTab }));
            mockTabController.Setup(c => c.GetTabsByPortal(HostPortalId)).Returns(new TabCollection());
            TabController.SetTestableInstance(mockTabController.Object);

            //Act
            controller.ConfigureActiveTab(settings);

            //Assert
            Assert.NotNull(settings.ActiveTab.BreadCrumbs);
            Assert.AreEqual(1, settings.ActiveTab.BreadCrumbs.Count);
        }