Fix LibreTranslate deploy: healthcheck from PHP container, ignore_errors, add QR code tests

- Ansible: healthcheck via PHP container (curl from php, not libretranslate)
- Ansible: exit 0 if LibreTranslate not ready (don't block deploy)
- Ansible: ignore_errors on translation step (non-blocking)
- AccountControllerTest: add testEventQrCode (PNG response) and testEventQrCodeDeniedForOtherUser (403)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-23 18:12:18 +01:00
parent acccd4a0c4
commit 82c90f5b8b
2 changed files with 35 additions and 2 deletions

View File

@@ -1955,6 +1955,37 @@ class AccountControllerTest extends WebTestCase
return $category;
}
public function testEventQrCode(): void
{
$client = static::createClient();
$em = static::getContainer()->get(EntityManagerInterface::class);
$user = $this->createUser(['ROLE_ORGANIZER'], true);
$event = $this->createEvent($em, $user);
$client->loginUser($user);
$client->request('GET', '/mon-compte/evenement/'.$event->getId().'/qrcode');
self::assertResponseIsSuccessful();
self::assertSame('image/png', $client->getResponse()->headers->get('Content-Type'));
self::assertStringContainsString('attachment', $client->getResponse()->headers->get('Content-Disposition'));
}
public function testEventQrCodeDeniedForOtherUser(): void
{
$client = static::createClient();
$em = static::getContainer()->get(EntityManagerInterface::class);
$user = $this->createUser(['ROLE_ORGANIZER'], true);
$otherUser = $this->createUser(['ROLE_ORGANIZER'], true);
$event = $this->createEvent($em, $user);
$client->loginUser($otherUser);
$client->request('GET', '/mon-compte/evenement/'.$event->getId().'/qrcode');
self::assertResponseStatusCodeSame(403);
}
public function testGetAllowedBilletTypesBasic(): void
{
$types = \App\Controller\AccountController::getAllowedBilletTypes('basic');