/** * {@inheritdoc} * * @dataProvider propertyAccessorProvider */ public function testDeleteEntity(array $data = []) { // Instantiate User $user = (new User())->setUsername($data['username'])->setFullname($data['fullname'])->setEmail($data['email'])->setRoles($data['roles'])->setPassword($data['plainPassword'])->setEnabled($data['enabled']); foreach ($data['jobs'] as $job) { // Is added two times to ensure the adder handles duplications and will add it only one time $user->addJob($job); $user->addJob($job); $this->doctrineManager->persist($job); } $this->doctrineManager->persist($user); $this->doctrineManager->flush(); // Actual test $this->userManager->deleteUser($user); foreach ($data['jobs'] as $job) { /* @var Job $job */ $this->assertFalse($job->getUsers()->contains($user), 'Expected $job instance to no longer have a reference to $user.'); } }