public void Can_Move_Page()
{
// Given
Trie structureInfo;
// When
using (var store = this.SetupContext())
{
using (var session = store.OpenSession())
{
session.Store(new FakePage {Id = "fakepages/1", Metadata = {Name = "Start"}},
StoreAction.Publish);
session.Store(
new FakePage
{
Id = "fakepages/2",
Parent = new PageReference("fakepages/1"),
Metadata = {Name = "Child page"}
}, StoreAction.Publish);
session.Store(
new FakePage
{
Id = "fakepages/3",
Parent = new PageReference("fakepages/2"),
Metadata = {Name = "Child page"}
}, StoreAction.Publish);
session.SaveChanges();
}
using (var session = store.OpenSession())
{
IPage fakeChild = session.Load<FakePage>("fakepages/3");
fakeChild.Parent = new PageReference("fakepages/1");
session.SaveChanges();
}
using (var session = store.OpenSession())
{
structureInfo = session.Load<Trie>(DefaultBrickPileBootstrapper.TrieId);
}
// Then
Assert.Equal("fakepages/1",
structureInfo.RootNode.Children.Single(node => node.PageId == "fakepages/3").ParentId);
}
}