fix test which randomly failed

This commit is contained in:
2021-06-18 13:30:31 +02:00
parent 0e9933ca41
commit 7a6117a264
2 changed files with 80 additions and 16 deletions

View File

@@ -61,6 +61,19 @@ class HouseholdMemberControllerTest extends WebTestCase
],
true)
);
if ($client->getResponse()->getStatusCode() === 422) {
var_dump(\json_decode($client->getResponse()->getContent(), true));
var_dump($date);
$household = self::$container->get(EntityManagerInterface::class)
->getRepository(Household::class)
->find($householdId);
$ms = $household->getMembers()->filter(fn ($m) => $m->getPerson()->getId() === $personId);
foreach ($ms as $m) {
var_dump("id: {$m->getId()}, startDate: {$m->getStartDate()} endDate: {$m->getEndDate()}");
}
}
$this->assertEquals(Response::HTTP_OK,
$client->getResponse()->getStatusCode()
@@ -111,6 +124,20 @@ class HouseholdMemberControllerTest extends WebTestCase
true)
);
if ($client->getResponse()->getStatusCode() === 422) {
var_dump(\json_decode($client->getResponse()->getContent(), true));
var_dump($date);
$household = self::$container->get(EntityManagerInterface::class)
->getRepository(Household::class)
->find($householdId);
$ms = $household->getMembers()->filter(fn ($m) => $m->getPerson()->getId() === $personId);
foreach ($ms as $m) {
var_dump("id: {$m->getId()}, startDate: {$m->getStartDate()} endDate: {$m->getEndDate()}");
}
}
$this->assertEquals(Response::HTTP_OK,
$client->getResponse()->getStatusCode()
);
@@ -168,6 +195,19 @@ class HouseholdMemberControllerTest extends WebTestCase
true)
);
if ($client->getResponse()->getStatusCode() === 422) {
var_dump(\json_decode($client->getResponse()->getContent(), true));
var_dump($date);
$household = self::$container->get(EntityManagerInterface::class)
->getRepository(Household::class)
->find($householdId);
$ms = $household->getMembers()->filter(fn ($m) => $m->getPerson()->getId() === $personId);
foreach ($ms as $m) {
var_dump("id: {$m->getId()}, startDate: {$m->getStartDate()} endDate: {$m->getEndDate()}");
}
}
$this->assertEquals(Response::HTTP_OK,
$client->getResponse()->getStatusCode()
);
@@ -205,19 +245,18 @@ class HouseholdMemberControllerTest extends WebTestCase
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$yesterday = new \DateTimeImmutable('yesterday');
$personIds = $em->createQuery("SELECT p.id FROM ".Person::class." p ".
"JOIN p.center c ".
"JOIN p.householdParticipations hp ".
"WHERE ".
"c.name = :center ".
"AND hp.startDate < CURRENT_DATE() ".
"AND hp.endDate IS NULL "
"c.name = :center "
)
->setParameter('center', "Center A")
->setMaxResults(100)
->getScalarResult()
;
\shuffle($personIds);
$household = new Household();
@@ -229,12 +268,29 @@ class HouseholdMemberControllerTest extends WebTestCase
->getResult()
;
yield [
\array_pop($personIds)['id'],
$household->getId(),
$positions[\random_int(0, count($positions) - 1)]['id'],
new \DateTimeImmutable('today')
];
$i = 0;
do {
$id = \array_pop($personIds)['id'];
$person = self::$container->get(EntityManagerInterface::class)
->getRepository(Person::Class)
->find($id);
$participation = $person->getCurrentHouseholdParticipationShareHousehold();
if (NULL !== $participation && NULL === $participation->getEndDate()
&& $participation->getStartDate() > $yesterday) {
continue;
}
$i++;
yield [
$id,
$household->getId(),
$positions[\random_int(0, count($positions) - 1)]['id'],
new \DateTimeImmutable('tomorrow')
];
} while ($i <= 1);
}
public function provideValidDataEditMember(): \Iterator