public virtual SiteDefinition GetSiteDefinition(Item item) { Assert.ArgumentNotNull(item, nameof(item)); var itemSiteDefinitionsProvider = new ItemSiteDefinitionsProvider(); var siteDefinition = itemSiteDefinitionsProvider.GetContextSiteDefinition(item); if (siteDefinition != null) { return(siteDefinition); } var configSiteDefinitionsProvider = new ConfigurationSiteDefinitionsProvider(); return(configSiteDefinitionsProvider.GetContextSiteDefinition(item)); }
public void SiteDefinitions_ShouldReturnSiteDefinitionFromTheItemList(Db db, ItemSiteDefinitionsProvider provider, SiteDefinitionsProviderBase baseProvider) { db.Add(new DbItem("site1", ID.NewID, Templates.Site.ID)); db.Add(new DbItem("site2", ID.NewID, Templates.Site.ID)); db.Add(new DbItem("site3", ID.NewID, Sitecore.TemplateIDs.StandardTemplate)); var fakeSite = new FakeSiteContext(new StringDictionary { { "displayMode", "normal" }, { "rootPath", "/sitecore/content" }, { "name", "site1" } }) as SiteContext; using (new SiteContextSwitcher(fakeSite)) { var results = provider.SiteDefinitions; results.Count().ShouldBeEquivalentTo(2); results.Should().As <IEnumerable <SiteDefinition> >(); } }
public void SiteDefinitions_ContextDoesNotExists_ShouldReturnNull(Db db, ItemSiteDefinitionsProvider provider) { db.GetItem(Sitecore.ItemIDs.ContentRoot).Delete(); provider.SiteDefinitions.Should().BeNull(); }