Exemplo n.º 1
0
 /**
  * @covers \BackBee\NestedNode\Repository\PageRepository::insertNodeAsFirstChildOf
  * @covers \BackBee\NestedNode\Repository\PageRepository::insertNodeAsLastChildOf
  * @covers \BackBee\NestedNode\Repository\PageRepository::insertNode
  * @covers \BackBee\NestedNode\Repository\PageRepository::getMaxPosition
  */
 public function testInsertNode()
 {
     $newpage1 = new Page('new-page1', array('title' => 'new-page1'));
     $newpage1->setLayout(new Layout());
     $this->repository->insertNodeAsFirstChildOf($newpage1, $this->root);
     foreach ($this->repository->findAll() as $node) {
         self::$em->refresh($node);
     }
     $page3 = $this->repository->find('page3');
     $this->assertFalse($newpage1->hasMainSection());
     $this->assertEquals($this->root, $newpage1->getParent());
     $this->assertEquals(1, $newpage1->getLevel());
     $this->assertEquals(1, $newpage1->getPosition());
     $this->assertEquals(6, $this->root->getRightnode());
     $this->assertEquals(2, $page3->getPosition());
     $section2 = $this->repository->find('section2');
     $newpage2 = new Page('new-page2', array('title' => 'new-page2'));
     $newpage2->setLayout(new Layout());
     $this->repository->insertNodeAsLastChildOf($newpage2, $section2, true);
     foreach ($this->repository->findAll() as $node) {
         self::$em->refresh($node);
     }
     $this->assertTrue($newpage2->hasMainSection());
     $this->assertEquals($section2, $newpage2->getParent());
     $this->assertEquals(2, $newpage2->getLevel());
     $this->assertEquals(0, $newpage2->getPosition());
     $this->assertEquals(3, $newpage2->getLeftnode());
     $this->assertEquals(4, $newpage2->getRightnode());
     $this->assertEquals(2, $section2->getLeftnode());
     $this->assertEquals(5, $section2->getRightnode());
     $this->assertEquals(8, $this->root->getRightnode());
     $section1 = $this->repository->find('section1');
     $newpage3 = new Page('new-page3', array('title' => 'new-page3'));
     $newpage3->setLayout(new Layout());
     $this->repository->insertNodeAsLastChildOf($newpage3, $section1, false);
     foreach ($this->repository->findAll() as $node) {
         self::$em->refresh($node);
     }
     $this->assertEquals(3, $newpage3->getPosition());
 }