mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-12 21:34:25 +00:00
add test for suggestion household by accompanying period
This commit is contained in:
parent
e8566fd006
commit
2a1f5cbad1
@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Chill\PersonBundle\Tests\Controller;
|
||||||
|
|
||||||
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
|
use Chill\MainBundle\Test\PrepareClientTrait;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
|
||||||
|
|
||||||
|
|
||||||
|
class HouseholdApiControllerTest extends WebTestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
use PrepareClientTrait;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider generatePersonId
|
||||||
|
*/
|
||||||
|
public function testSuggestByAccompanyingPeriodParticipation(int $personId)
|
||||||
|
{
|
||||||
|
$client = $this->getClientAuthenticated();
|
||||||
|
|
||||||
|
$client->request(
|
||||||
|
Request::METHOD_GET,
|
||||||
|
"/api/1.0/person/household/suggest/by-person/{$personId}/through-accompanying-period-participation.json"
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->assertResponseIsSuccessful();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function generatePersonId()
|
||||||
|
{
|
||||||
|
self::bootKernel();
|
||||||
|
|
||||||
|
$qb = self::$container->get(EntityManagerInterface::class)
|
||||||
|
->createQueryBuilder();
|
||||||
|
|
||||||
|
$period = $qb
|
||||||
|
->select('ap')
|
||||||
|
->from(AccompanyingPeriod::class, 'ap')
|
||||||
|
->where(
|
||||||
|
$qb->expr()->gte('SIZE(ap.participations)', 2)
|
||||||
|
)
|
||||||
|
->getQuery()
|
||||||
|
->setMaxResults(1)
|
||||||
|
->getSingleResult()
|
||||||
|
;
|
||||||
|
|
||||||
|
$person = $period->getParticipations()
|
||||||
|
->first()->getPerson();
|
||||||
|
|
||||||
|
yield [ $person->getId() ];
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user