Exemple #1
0
 public function testRemoval()
 {
     $page = new Page();
     $page->setTitle('Default page')->setSlug('default')->setEnabled(true);
     $child = new Page();
     $child->setTitle('Child page')->setSlug('child')->setEnabled(true)->setParent($page);
     $page->addChild($child);
     $kernel = static::getKernel();
     /** @var EntityManager $em */
     $em = $kernel->getContainer()->get('doctrine')->getManager();
     $em->persist($page);
     $em->persist($child);
     $em->flush();
     $page = $em->getRepository(get_class($page))->find($page->getId());
     $children = $page->getChildren();
     /** @var Page $first */
     $first = $children[0];
     $this->assertEquals($child->getId(), $first->getId());
     $page->removeChild($child);
     $child->setParent(null);
     $em->remove($page);
     $em->flush();
     $child = $em->getRepository(get_class($child))->find($child->getId());
     $this->assertNull($child->getParent());
 }