Esempio n. 1
0
 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." );
    }
Esempio n. 4
0
 /**
  * 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");
 }