mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-25 08:05:00 +00:00
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:
@@ -13,6 +13,7 @@ namespace Chill\TaskBundle\Tests\Controller;
|
||||
|
||||
use Chill\MainBundle\Entity\Center;
|
||||
use Chill\MainBundle\Tests\TestHelper;
|
||||
use Chill\PersonBundle\Entity\Person;
|
||||
use Faker;
|
||||
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
|
||||
|
||||
@@ -30,7 +31,6 @@ final class SingleTaskControllerTest extends WebTestCase
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
self::bootKernel();
|
||||
$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)
|
||||
{
|
||||
$em = self::$kernel
|
||||
->getContainer()
|
||||
$container = self::getContainer();
|
||||
$em = $container
|
||||
->get('doctrine.orm.entity_manager');
|
||||
|
||||
$centers = $em
|
||||
->getRepository(Center::class)
|
||||
->findAll();
|
||||
|
||||
$center = \array_filter(
|
||||
$centers,
|
||||
static fn (Center $c) => $c->getName() === $centerName
|
||||
$center = \array_values(
|
||||
\array_filter(
|
||||
$centers,
|
||||
static fn (Center $c) => $c->getName() === $centerName
|
||||
)
|
||||
)[0];
|
||||
|
||||
$ids = $em
|
||||
->createQuery(
|
||||
'SELECT p.id FROM ChillPersonBundle:Person p '
|
||||
'SELECT p.id FROM '.Person::class.' p '
|
||||
.'WHERE p.center = :center'
|
||||
)
|
||||
->setParameter('center', $center)
|
||||
@@ -102,10 +104,8 @@ final class SingleTaskControllerTest extends WebTestCase
|
||||
|
||||
$id = $ids[\array_rand($ids)];
|
||||
|
||||
return self::$kernel
|
||||
->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository(\Chill\PersonBundle\Entity\Person::class)
|
||||
return $em
|
||||
->getRepository(Person::class)
|
||||
->find($id);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user