Implemented tests for personIdentitySource and solved conflicts

This commit is contained in:
Kevin Frantz 2018-11-18 12:16:38 +01:00
parent a92ac68750
commit 08c4bee43f
4 changed files with 27 additions and 9 deletions

View File

@ -12,7 +12,7 @@ use Doctrine\ORM\Mapping as ORM;
* @ORM\Table(name="source_combination")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discr", type="string")
* @ORM\DiscriminatorMap({"user" = "UserSource","fullpersonname" = "FullPersonNameSource"})
* @ORM\DiscriminatorMap({"user" = "UserSource","fullpersonname" = "FullPersonNameSource","personidentitysource"="PersonIdentitySource"})
*/
abstract class AbstractCombinationSource extends AbstractSource implements CombinationSourceInterface
{

View File

@ -3,9 +3,14 @@
namespace App\Entity\Source\Combination;
use App\Entity\Attribut\FullPersonNameSourceAttribut;
use App\Entity\Source\Data\AbstractDataSource;
use Doctrine\ORM\Mapping as ORM;
class PersonIdentitySource extends AbstractDataSource implements PersonIdentitySourceInterface
/**
* @author kevinfrantz
* @ORM\Table(name="source_combination_person_identity")
* @ORM\Entity()
*/
class PersonIdentitySource extends AbstractCombinationSource implements PersonIdentitySourceInterface
{
use FullPersonNameSourceAttribut;

View File

@ -25,7 +25,7 @@ class UserSource extends AbstractCombinationSource implements UserSourceInterfac
protected $user;
/**
* @todo Implement ORM mapping for database!
* @ORM\OneToOne(targetEntity="PersonIdentitySource",cascade={"persist", "remove"})
*
* @var PersonIdentitySourceInterface
*/

View File

@ -20,6 +20,11 @@ class UserRepositoryTest extends KernelTestCase
*/
protected $userRepository;
/**
* @var UserInterface
*/
protected $loadedUser;
public function setUp(): void
{
$kernel = self::bootKernel();
@ -40,14 +45,22 @@ class UserRepositoryTest extends KernelTestCase
$this->entityManager->persist($user);
$this->entityManager->flush();
$userId = $user->getId();
/**
/*
* @var UserInterface
*/
$loadedUser = $this->userRepository->find($userId);
$this->assertEquals($userId, $loadedUser->getId());
$this->entityManager->remove($loadedUser);
$this->entityManager->flush();
$this->loadedUser = $this->userRepository->find($userId);
$this->assertEquals($userId, $this->loadedUser->getId());
$this->assertGreaterThan(0, $this->loadedUser->getSource()->getId());
$this->assertGreaterThan(0, $this->loadedUser->getSource()->getPersonIdentitySource()->getId());
$this->deleteUser();
$this->assertNull($this->userRepository->find($userId));
$this->loadedUser = null;
}
private function deleteUser(): void
{
$this->entityManager->remove($this->loadedUser);
$this->entityManager->flush();
}
/**