BrickPile.Tests.Infrastructure.Listeners.StoreListenerTests.BeforeStore.Can_Alter_Child_Page_And_Save_As_Draft C# (CSharp) Method

Can_Alter_Child_Page_And_Save_As_Draft() private method

private Can_Alter_Child_Page_And_Save_As_Draft ( ) : void
return void
            public void Can_Alter_Child_Page_And_Save_As_Draft()
            {
                // Given

                Trie structureInfo;
                IPage page;

                // When

                using (var store = this.SetupContext())
                {
                    using (var session = store.OpenSession())
                    {
                        session.Store(new FakePage {Id = "FakePages/1", Metadata = {Name = "Start"}},
                            StoreAction.Publish);
                        IPage p = new FakePage
                        {
                            Id = "FakePages/2",
                            Parent = new PageReference("FakePages/1"),
                            Metadata =
                            {
                                Name = "Child page"
                            }
                        };
                        session.Store(p, StoreAction.Publish);
                        session.SaveChanges();
                    }

                    using (var session = store.OpenSession())
                    {
                        page = session.Load<FakePage>("FakePages/2");
                        page.Metadata.Name = "Page name changed";
                        session.Store(page, StoreAction.Save);
                        session.SaveChanges();
                    }

                    using (var session = store.OpenSession())
                    {
                        structureInfo = session.Load<Trie>(DefaultBrickPileBootstrapper.TrieId);
                        page = session.Load<FakePage>("FakePages/2/draft");
                    }

                    // Then

                    Assert.NotNull(structureInfo.RootNode);
                    Assert.Equal("FakePages/1", structureInfo.RootNode.PageId);
                    Assert.Null(structureInfo.RootNode.ParentId);
                    Assert.Null(structureInfo.RootNode.Url);
                    Assert.Equal(1, structureInfo.RootNode.Children.Count);
                    Assert.Equal("FakePages/2", structureInfo.RootNode.Children.First().PageId);
                    Assert.Equal("FakePages/1", structureInfo.RootNode.Children.First().ParentId);
                    Assert.Equal("child-page", structureInfo.RootNode.Children.First().Url);
                    Assert.Equal(page.Metadata.Url, structureInfo.RootNode.Children.First().Url);
                    Assert.Equal("child-page", page.Metadata.Slug);
                    Assert.False(page.Metadata.IsPublished);
                }
            }