public void Ensure_Path_Entity_Valid_Recursive_Parent() { var parentA = _builder .WithId(999) .Build(); // Re-creating the class-level builder as we need to reset before usage when creating multiple entities. _builder = new EntitySlimBuilder(); var parentB = _builder .WithId(888) .WithParentId(999) .Build(); _builder = new EntitySlimBuilder(); var parentC = _builder .WithId(777) .WithParentId(888) .Build(); _builder = new EntitySlimBuilder(); var entity = _builder .WithId(1234) .WithParentId(777) .Build(); IUmbracoEntity GetParent(IUmbracoEntity umbracoEntity) { switch (umbracoEntity.ParentId) { case 999: return(parentA); case 888: return(parentB); case 777: return(parentC); case 1234: return(entity); default: return(null); } } // this will recursively fix all paths entity.EnsureValidPath(Mock.Of <ILogger <IUmbracoEntity> >(), GetParent, umbracoEntity => { }); Assert.AreEqual("-1,999", parentA.Path); Assert.AreEqual("-1,999,888", parentB.Path); Assert.AreEqual("-1,999,888,777", parentC.Path); Assert.AreEqual("-1,999,888,777,1234", entity.Path); }
public void SetUp() => _builder = new EntitySlimBuilder();