public void Can_Create_Start_Page_As_Draft_Then_Publish()
{
// Given
Trie structureInfo;
IPage page, draft;
// When
using (var store = this.SetupContext())
{
using (var session = store.OpenSession())
{
session.Store(new FakePage(), StoreAction.Save);
session.SaveChanges();
}
using (var session = store.OpenSession())
{
page = session.Load<IPage>("FakePages/1");
page.Metadata.Name = "Renamed";
session.Store(page, StoreAction.Publish);
session.SaveChanges();
}
using (var session = store.OpenSession())
{
page = session.Load<IPage>("FakePages/1");
draft = session.Load<IPage>("FakePages/1/Draft");
structureInfo = session.Load<Trie>(DefaultBrickPileBootstrapper.TrieId);
}
// Then
Assert.NotNull(structureInfo.RootNode);
Assert.Equal("FakePages/1", structureInfo.RootNode.PageId);
Assert.Null(structureInfo.RootNode.ParentId);
Assert.Null(structureInfo.RootNode.Url);
Assert.Equal(0, structureInfo.RootNode.Children.Count);
Assert.Equal("Renamed", page.Metadata.Name);
Assert.Null(page.Metadata.Slug);
Assert.Null(page.Metadata.Url);
Assert.Null(draft);
}
}