Doctrine\Tests\ODM\PHPCR\Functional\ReferenceTest::testManyCascadeWithParentDelete PHP Метод

testManyCascadeWithParentDelete() публичный Метод

    public function testManyCascadeWithParentDelete()
    {
        $refManyTestObjForCascade = new RefManyWithParentTestObjForCascade();
        $refManyTestObjForCascade->id = "/functional/refManyWithParentTestObjForCascade";
        $references = array();
        for ($i = 0; $i < 3; $i++) {
            $newRefCascadeManyTestObj = new ParentTestObj();
            $newRefCascadeManyTestObj->nodename = "ref{$i}";
            $newRefCascadeManyTestObj->name = "refCascadeWithParentManyTestObj{$i}";
            $references[] = $newRefCascadeManyTestObj;
        }
        $refManyTestObjForCascade->setReferences($references);
        $this->dm->persist($refManyTestObjForCascade);
        $this->dm->flush();
        $this->dm->clear();
        $this->assertTrue($this->session->getNode("/functional")->hasNode("refManyWithParentTestObjForCascade"));
        for ($i = 0; $i < 3; $i++) {
            $this->assertTrue($this->session->getNode("/functional/refManyWithParentTestObjForCascade")->hasNode("ref{$i}"));
        }
        $referrer = $this->dm->find($this->referrerManyWithParentForCascadeType, '/functional/refManyWithParentTestObjForCascade');
        $this->dm->remove($referrer);
        $this->dm->flush();
        $this->assertFalse($this->session->getNode("/functional")->hasNode("refManyWithParentTestObjForCascade"));
    }