GraphAware\Neo4j\OGM\Tests\Integration\RelationshipIntegrationTest::testRelatedEntitiesFetchedCanBeRemoved PHP Метод

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

    public function testRelatedEntitiesFetchedCanBeRemoved()
    {
        $user = new User('ikwattro');
        $user2 = new User('jexp');
        $user3 = new User('michal');
        $user->getFriends()->add($user2);
        $user->getFriends()->add($user3);
        $this->em->persist($user);
        $this->em->flush();
        $this->assertGraphExist('(u:User {login:"ikwattro"})-[r:FOLLOWS]->(o:User {login:"michal"})');
        $this->assertGraphExist('(u:User {login:"ikwattro"})-[r:FOLLOWS]->(o:User {login:"jexp"})');
        $this->em->clear();
        /** @var User $ikwattro */
        $ikwattro = $this->em->getRepository(User::class)->findOneBy('login', 'ikwattro');
        $this->assertInstanceOf(User::class, $ikwattro);
        $this->assertCount(2, $ikwattro->getFriends());
        foreach ($ikwattro->getFriends() as $friend) {
            if ($friend->getLogin() === 'jexp') {
                $ikwattro->getFriends()->removeElement($friend);
            }
        }
        $this->assertCount(1, $ikwattro->getFriends());
        $this->em->flush();
        $this->assertGraphNotExist('(u:User {login:"ikwattro"})-[r:FOLLOWS]->(o:User {login:"jexp"})');
    }