Skip to content

Creating a Hierarchy of Templates

sergeyshushlyapin edited this page Nov 5, 2014 · 2 revisions
[Fact]
public void HowToCreateTemplateHierarchy()
{
  var baseTemplateIdOne = Sitecore.Data.ID.NewID;
  var baseTemplateIdTwo = Sitecore.Data.ID.NewID;
  var templateId = Sitecore.Data.ID.NewID;

  using (Sitecore.FakeDb.Db db = new Sitecore.FakeDb.Db
  {
    new Sitecore.FakeDb.DbTemplate("base one", baseTemplateIdOne),
    new Sitecore.FakeDb.DbTemplate("base two", baseTemplateIdTwo),
    new Sitecore.FakeDb.DbTemplate("Main", templateId)
      {
        BaseIDs = new[] { baseTemplateIdOne, baseTemplateIdTwo }
      }
  })
  {
    var template =
      Sitecore.Data.Managers.TemplateManager.GetTemplate(
        templateId, db.Database);

    Xunit.Assert.Contains(baseTemplateIdOne, template.BaseIDs);
    Xunit.Assert.Contains(baseTemplateIdTwo, template.BaseIDs);

    Xunit.Assert.True(template.InheritsFrom(baseTemplateIdOne));
    Xunit.Assert.True(template.InheritsFrom(baseTemplateIdTwo));
  }
}
Clone this wiki locally