refactor: improve test setup and entity references in SingleTaskControllerTest

- Remove unnecessary kernel boot in `setUp`
- Use DI container retrieval for entity manager
- Replace string class references with `::class` constants
This commit is contained in:
2025-09-09 17:09:33 +02:00
parent f88718e263
commit ffeba3818b

View File

@@ -13,6 +13,7 @@ namespace Chill\TaskBundle\Tests\Controller;
use Chill\MainBundle\Entity\Center; use Chill\MainBundle\Entity\Center;
use Chill\MainBundle\Tests\TestHelper; use Chill\MainBundle\Tests\TestHelper;
use Chill\PersonBundle\Entity\Person;
use Faker; use Faker;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
@@ -30,7 +31,6 @@ final class SingleTaskControllerTest extends WebTestCase
protected function setUp(): void protected function setUp(): void
{ {
self::bootKernel();
$this->faker = Faker\Factory::create('fr'); $this->faker = Faker\Factory::create('fr');
} }
@@ -75,26 +75,28 @@ final class SingleTaskControllerTest extends WebTestCase
} }
/** /**
* @return \Chill\PersonBundle\Entity\Person * @return Person
*/ */
protected function getRandomPerson(mixed $centerName) protected function getRandomPerson(mixed $centerName)
{ {
$em = self::$kernel $container = self::getContainer();
->getContainer() $em = $container
->get('doctrine.orm.entity_manager'); ->get('doctrine.orm.entity_manager');
$centers = $em $centers = $em
->getRepository(Center::class) ->getRepository(Center::class)
->findAll(); ->findAll();
$center = \array_filter( $center = \array_values(
$centers, \array_filter(
static fn (Center $c) => $c->getName() === $centerName $centers,
static fn (Center $c) => $c->getName() === $centerName
)
)[0]; )[0];
$ids = $em $ids = $em
->createQuery( ->createQuery(
'SELECT p.id FROM ChillPersonBundle:Person p ' 'SELECT p.id FROM '.Person::class.' p '
.'WHERE p.center = :center' .'WHERE p.center = :center'
) )
->setParameter('center', $center) ->setParameter('center', $center)
@@ -102,10 +104,8 @@ final class SingleTaskControllerTest extends WebTestCase
$id = $ids[\array_rand($ids)]; $id = $ids[\array_rand($ids)];
return self::$kernel return $em
->getContainer() ->getRepository(Person::class)
->get('doctrine.orm.entity_manager')
->getRepository(\Chill\PersonBundle\Entity\Person::class)
->find($id); ->find($id);
} }
} }