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

Can_Publish_Then_Unpublish_And_Republish_Root_Page_With_Children() private method

            public void Can_Publish_Then_Unpublish_And_Republish_Root_Page_With_Children()
            {
                // Given

                Trie structureInfo;

                IPage start;

                // When
                using (var store = this.SetupContext())
                {
                    using (var session = store.OpenSession())
                    {
                        start = new FakePage {Metadata = {Name = "Start"}};
                        session.Store(start, StoreAction.Publish);
                        session.Store(new FakePage {Parent = new PageReference(start.Id), Metadata = {Name = "Child"}},
                            StoreAction.Publish);
                        session.SaveChanges();
                    }

                    using (var session = store.OpenSession())
                    {
                        start = session.Load<FakePage>("FakePages/1");
                        session.Store(start, StoreAction.Save);
                        session.SaveChanges();
                    }

                    using (var session = store.OpenSession())
                    {
                        start = session.Load<FakePage>("FakePages/1/draft");
                        session.Store(start, StoreAction.Publish);
                        session.SaveChanges();
                    }

                    using (var session = store.OpenSession())
                    {
                        structureInfo = session.Load<Trie>(DefaultBrickPileBootstrapper.TrieId);
                    }

                    // Then

                    Assert.NotEmpty(structureInfo.RootNode.Children);
                }
            }