public function setUp() { parent::setUp(); ezpINIHelper::setINISetting('site.ini', 'SearchSettings', 'AllowEmptySearch', 'enabled'); ezpINIHelper::setINISetting('site.ini', 'RegionalSettings', 'SiteLanguageList', array('eng-GB')); $this->findINI = eZINI::instance('ezfind.ini'); $this->findINI->loadCache(true); $this->solrSearch = new eZSolr(); $this->object = new ezpObject('folder', 2); $this->object->name = 'foo'; $this->object->publish(); $this->object->addNode(43); // Add a location under Media node $this->solrSearch->addObject($this->object->object); }
/** * Test mainNode() * * create object like this structure: * * rootnode(folder) - objectNode1(folder) - obj(article, language: default and nor-NO) * \ objectNode2(folder) / */ public function testIssue016395() { //create two nodes with one object $parentNode = new ezpObject('folder', 2); $parentNode->publish(); $objectNode1 = new ezpObject('folder', $parentNode->mainNode->node_id); $objectNode1->publish(); $objectNode2 = new ezpObject('folder', $parentNode->mainNode->node_id); $objectNode2->publish(); $obj = new ezpObject('article', $objectNode1->mainNode->node_id); $obj->title = 'English article'; $obj->body = 'This an English article'; $obj->publish(); $obj->addNode($objectNode2->mainNode->node_id); //create a translation $languageData = array(); $languageData['title'] = 'Norsk artikkel'; $languageData['body'] = 'Dette er en norsk artikkel.'; $obj->addTranslation('nor-NO', $languageData); //assert the main language and translation language $objectMainNode = $obj->object->mainNode(); $this->assertEquals('English article', $objectMainNode->getName()); $this->assertEquals('Norsk artikkel', $objectMainNode->getName('nor-NO')); $tempLanguage = $objectMainNode->currentLanguage(); $objectMainNode->setCurrentLanguage('nor-NO'); $this->assertEquals('Norsk artikkel', $objectMainNode->attribute('name')); $objectMainNode->setCurrentLanguage($tempLanguage); }
/** * Test to verify that eznode_assignment entres get removed. * * @link http://issues.ez.no/15478 */ public function testRemoveAssignments() { $db = eZDB::instance(); $testSet = array(); $folder = new ezpObject( "folder", 2 ); $folder->name = __FUNCTION__; $folder->publish(); $testSet[] = $folder; $childOne = new ezpObject( "folder", $folder->mainNode->node_id ); $childOne->name = "ChildOne"; $childOne->publish(); $testSet[] = $childOne; $childTwo = new ezpObject( "folder", $folder->mainNode->node_id ); $childTwo->name = "ChildTwo"; $childTwo->publish(); $testSet[] = $childTwo; $subChildOne = new ezpObject( 'article', $childOne->mainNode->node_id ); $subChildOne->title = "SubChild"; $subChildOne->publish(); $testSet[] = $subChildOne; $subChildTwo = new ezpObject( 'article', $childOne->mainNode->node_id ); $subChildTwo->title = "SubChildOther"; $subChildTwo->publish(); $testSet[] = $subChildTwo; $subChildThree = new ezpObject( 'article', $childOne->mainNode->node_id ); $subChildThree->title = "SubChildThird"; $subChildThree->publish(); $testSet[] = $subChildThree; // Let's add another placement here $newPlacementSubChildOne = $subChildOne->addNode( $childTwo->mainNode->node_id ); $testSet[] = $newPlacementSubChildOne; // $this->debugBasicNodeInfo( $testSet ); $coId = $newPlacementSubChildOne->attribute( 'contentobject_id' ); eZContentOperationCollection::removeAssignment( $childTwo->mainNode->node_id, $childTwo->id, array( $newPlacementSubChildOne ), false ); $checkSql = "SELECT * FROM eznode_assignment WHERE contentobject_id = {$coId}"; $result = $db->arrayQuery( $checkSql ); // After removing one of the assignments, the number of node // assignments for the content object should be only one. $numberOfAssignments = count( $result ); self::assertEquals( 1, $numberOfAssignments, "The number of node assignments are not correct, eznode_assignment table not cleaned up correctly." ); }
/** * Test that url data for translations in all node locations are removed, * when a translations is removed. */ public function testNodeRemovalMultipleLocationsWithTranslations() { $folder1 = new ezpObject("folder", 2); $folder1->name = __FUNCTION__; $folder1->publish(); $child = new ezpObject("article", $folder1->mainNode->node_id); $child->title = "Tester"; $child->publish(); $languageCode = "nor-NO"; $trData = array("title" => "NorTester"); $child->addTranslation($languageCode, $trData); $folder2 = new ezpObject("folder", 2); $folder2->name = __FUNCTION__ . "-Other"; $folder2->publish(); $newPlacement = $child->addNode($folder2->mainNode->node_id); $child->removeTranslation($languageCode); // Verify that all norwegian url entries are also removed $language = eZContentLanguage::fetchByLocale($languageCode, false); $languageId = (int) $language->attribute('id'); $fetchNorUrlEntriesSql = self::buildSql(array($child->mainNode->node_id, $newPlacement->attribute('node_id')), $languageId); $db = eZDB::instance(); $norUrlEntries = $db->arrayQuery($fetchNorUrlEntriesSql); self::assertEquals(0, count($norUrlEntries), "There should be no nor-NO url entries left"); }