public void Can_Save_Second_Level_Child_With_Draft_As_Parent()
{
// Given
Trie structureInfo;
IPage child;
// When
using (var store = this.SetupContext())
{
using (var session = store.OpenSession())
{
session.Store(new FakePage(), StoreAction.Publish);
child = new FakePage
{
Parent = new PageReference("FakePages/1"),
Metadata = {Name = "Child"}
};
session.Store(child, StoreAction.Save);
session.Store(new FakePage
{
Parent = new PageReference(child.Id),
Metadata = {Name = "Child2"}
}, StoreAction.Save);
session.SaveChanges();
}
using (var session = store.OpenSession())
{
child = session.Load<IPage>("FakePages/2");
child.Metadata.Name = "Changed name";
session.Store(child, StoreAction.Publish);
session.SaveChanges();
structureInfo = session.Load<Trie>(DefaultBrickPileBootstrapper.TrieId);
}
// Then
Assert.NotNull(child);
Assert.NotEmpty(structureInfo.RootNode.Children);
Assert.NotEmpty(structureInfo.Get("FakePages/2").Children);
//Assert.NotNull(structureInfo.GetNode("FakePages/3/draft").ParentId);
}
}