/** * test fetchChildListByVersionStatus */ public function testFetchChildListByVersionStatus() { //create object $top = new ezpObject('article', 2); $top->name = 'TOP ARTICLE'; $top->publish(); $child = new ezpObject('article', $top->mainNode->node_id); $child->name = 'THIS IS AN ARTICLE'; $child->publish(); $child2 = new ezpObject('article', $top->mainNode->node_id); $child2->name = 'THIS IS AN ARTICLE2'; $child2->publish(); $pendingChild = new ezpObject('article', $top->mainNode->node_id); $pendingChild->name = 'THIS IS A PENDING ARTICLE'; $pendingChild->publish(); $version = $pendingChild->currentVersion(); $version->setAttribute('status', eZContentObjectVersion::STATUS_PENDING); $version->store(); $idList = array($top->mainNode->node_id); $arrayResult = eZNodeAssignment::fetchChildListByVersionStatus($idList, eZContentObjectVersion::STATUS_PENDING, false); $this->assertEquals($pendingChild->id, $arrayResult[0]['contentobject_id']); $arrayResult = eZNodeAssignment::fetchChildListByVersionStatus($idList, eZContentObjectVersion::STATUS_PUBLISHED, true); $this->assertEquals($child->id, $arrayResult[0]->attribute('contentobject_id')); $countResult = eZNodeAssignment::fetchChildCountByVersionStatus($idList, eZContentObjectVersion::STATUS_PENDING); $this->assertEquals(1, $countResult); $countResult = eZNodeAssignment::fetchChildCountByVersionStatus($idList, eZContentObjectVersion::STATUS_PUBLISHED); $this->assertEquals(2, $countResult); }
/** * Regression test for issue #16949 * 1) Test there is no pending object in sub objects * 2) Test there is one pending object in sub objects */ public function testIssue16949() { //create object $top = new ezpObject( 'article', 2 ); $top->title = 'TOP ARTICLE'; $top->publish(); $child = new ezpObject( 'article', $top->mainNode->node_id ); $child->title = 'THIS IS AN ARTICLE'; $child->publish(); $adminUser = eZUser::fetchByName( 'admin' ); $adminUserID = $adminUser->attribute( 'contentobject_id' ); $currentUser = eZUser::currentUser(); $currentUserID = eZUser::currentUserID(); eZUser::setCurrentlyLoggedInUser( $adminUser, $adminUserID ); $result = eZContentObjectTreeNode::subtreeRemovalInformation( array( $top->mainNode->node_id ) ); $this->assertFalse( $result['has_pending_object'] ); $workflowArticle = new ezpObject( 'article', $top->mainNode->node_id ); $workflowArticle->title = 'THIS IS AN ARTICLE WITH WORKFLOW'; $workflowArticle->publish(); $version = $workflowArticle->currentVersion(); $version->setAttribute( 'status', eZContentObjectVersion::STATUS_PENDING ); $version->store(); $result = eZContentObjectTreeNode::subtreeRemovalInformation( array( $top->mainNode->node_id ) ); $this->assertTrue( $result['has_pending_object'] ); eZUser::setCurrentlyLoggedInUser( $currentUser, $currentUserID ); }