mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-10-31 17:29:04 +00:00 
			
		
		
		
	Optimized membership attribute
This commit is contained in:
		| @@ -7,7 +7,7 @@ use Doctrine\ORM\EntityManager; | ||||
| use App\Repository\UserRepository; | ||||
| use App\Entity\User; | ||||
| use App\Entity\UserInterface; | ||||
| use App\Entity\Source\Combination\PersonIdentitySourceInterface; | ||||
| use App\Entity\Source\Complex\PersonIdentitySourceInterface; | ||||
| use App\Entity\Source\Complex\PersonIdentitySource; | ||||
|  | ||||
| class UserRepositoryTest extends KernelTestCase | ||||
|   | ||||
							
								
								
									
										103
									
								
								application/tests/Unit/Repository/UserSourceRepositoryTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								application/tests/Unit/Repository/UserSourceRepositoryTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,103 @@ | ||||
| <?php | ||||
| namespace tests\Unit\Repository; | ||||
|  | ||||
| use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; | ||||
| use Doctrine\ORM\EntityManager; | ||||
| use App\Entity\UserInterface; | ||||
| use App\Repository\UserSourceRepository; | ||||
| use App\Entity\Source\Complex\UserSourceInterface; | ||||
| use App\Entity\Source\Complex\UserSource; | ||||
|  | ||||
| class UserSourceRepositoryTest extends KernelTestCase | ||||
| { | ||||
|  | ||||
|     /** | ||||
|      * | ||||
|      * @var EntityManager | ||||
|      */ | ||||
|     protected $entityManager; | ||||
|  | ||||
|     /** | ||||
|      * | ||||
|      * @var UserSourceRepository | ||||
|      */ | ||||
|     protected $userSourceRepository; | ||||
|  | ||||
|     /** | ||||
|      * | ||||
|      * @var UserSourceInterface | ||||
|      */ | ||||
|     protected $loadedUserSource; | ||||
|  | ||||
|     /** | ||||
|      * | ||||
|      * @var UserInterface | ||||
|      */ | ||||
|     protected $user; | ||||
|  | ||||
|     /** | ||||
|      * | ||||
|      * @var UserSourceInterface | ||||
|      */ | ||||
|     protected $userSource; | ||||
|  | ||||
|     public function setUp(): void | ||||
|     { | ||||
|         $kernel = self::bootKernel(); | ||||
|         $this->entityManager = $kernel->getContainer() | ||||
|             ->get('doctrine') | ||||
|             ->getManager(); | ||||
|         $this->userSourceRepository = $this->entityManager->getRepository(UserSource::class); | ||||
|         $this->userSource = new UserSource(); | ||||
|     } | ||||
|  | ||||
|     public function testMemberships(): void | ||||
|     { | ||||
|         $userSource2 = new UserSource(); | ||||
|         $this->userSource->getMemberships()->add($userSource2); | ||||
|         $this->entityManager->persist($this->userSource); | ||||
|         $this->entityManager->flush(); | ||||
|         $userSource2Id = $userSource2->getId(); | ||||
|         $userSourceId = $this->userSource->getId(); | ||||
|         $this->loadedUserSource = $this->userSourceRepository->find($userSourceId); | ||||
|         $this->assertGreaterThan(0, $userSource2Id); | ||||
|         $this->assertEquals($userSource2, $this->loadedUserSource->getMemberships()->get(0)); | ||||
|         $this->deleteUserSource(); | ||||
|         $this->assertGreaterThan(0, $userSource2Id); | ||||
|         $this->entityManager->remove($userSource2); | ||||
|         $this->entityManager->flush(); | ||||
|         $this->assertNull($this->userSourceRepository->find($userSource2Id)); | ||||
|     } | ||||
|  | ||||
|     public function testCreation(): void | ||||
|     { | ||||
|         $this->entityManager->persist($this->userSource); | ||||
|         $this->entityManager->flush(); | ||||
|         $userSourceId = $this->userSource->getId(); | ||||
|         /* | ||||
|          * @var UserSourceInterface | ||||
|          */ | ||||
|         $this->loadedUserSource = $this->userSourceRepository->find($userSourceId); | ||||
|         $this->assertEquals($userSourceId, $this->loadedUserSource->getId()); | ||||
|         $this->deleteUserSource(); | ||||
|     } | ||||
|  | ||||
|     private function deleteUserSource(): void | ||||
|     { | ||||
|         $this->entityManager->remove($this->loadedUserSource); | ||||
|         $this->entityManager->flush(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * | ||||
|      * {@inheritdoc} | ||||
|      * | ||||
|      * @see \Symfony\Bundle\FrameworkBundle\Test\KernelTestCase::tearDown() | ||||
|      */ | ||||
|     protected function tearDown(): void | ||||
|     { | ||||
|         parent::tearDown(); | ||||
|         $this->entityManager->close(); | ||||
|         $this->entityManager = null; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user