function testCanPublishPageWithUnpublishedParentWithStrictHierarchyOff() { $this->logInWithPermission('ADMIN'); SiteTree::set_enforce_strict_hierarchy(true); $parentPage = $this->objFromFixture('Page', 'page3'); $childPage = $this->objFromFixture('Page', 'page1'); $parentPage->doUnpublish(); $childPage->doUnpublish(); $this->assertContains('action_publish', $childPage->getCMSActions()->column('Name'), 'Can publish a page with an unpublished parent with strict hierarchy off'); SiteTree::set_enforce_strict_hierarchy(false); }
function testUnpublishDoesNotDeleteChildrenWithLooseHierachyOn() { SiteTree::set_enforce_strict_hierarchy(false); $this->logInWithPermission('ADMIN'); $pageAbout = $this->objFromFixture('Page', 'about'); $pageAbout->doPublish(); $pageStaff = $this->objFromFixture('Page', 'staff'); $pageStaff->doPublish(); $pageStaffDuplicate = $this->objFromFixture('Page', 'staffduplicate'); $pageStaffDuplicate->doPublish(); $parentPage = $this->objFromFixture('Page', 'about'); $parentPage->doUnpublish(); Versioned::reading_stage('Live'); $this->assertFalse(DataObject::get_by_id('Page', $pageAbout->ID)); $this->assertTrue(DataObject::get_by_id('Page', $pageStaff->ID) instanceof Page); $this->assertTrue(DataObject::get_by_id('Page', $pageStaffDuplicate->ID) instanceof Page); Versioned::reading_stage('Stage'); SiteTree::set_enforce_strict_hierarchy(true); }