2026-03-04 21:52:29 +01:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
|
|
|
|
|
<!-- https://phpunit.readthedocs.io/en/latest/configuration.html -->
|
|
|
|
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
|
|
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
|
|
|
|
|
colors="true"
|
|
|
|
|
failOnDeprecation="true"
|
|
|
|
|
failOnNotice="true"
|
|
|
|
|
failOnWarning="true"
|
|
|
|
|
bootstrap="tests/bootstrap.php"
|
|
|
|
|
cacheDirectory=".phpunit.cache"
|
|
|
|
|
>
|
|
|
|
|
<php>
|
|
|
|
|
<ini name="display_errors" value="1" />
|
|
|
|
|
<ini name="error_reporting" value="-1" />
|
|
|
|
|
<server name="APP_ENV" value="test" force="true" />
|
|
|
|
|
<server name="SHELL_VERBOSITY" value="-1" />
|
|
|
|
|
</php>
|
|
|
|
|
|
|
|
|
|
<testsuites>
|
|
|
|
|
<testsuite name="Project Test Suite">
|
|
|
|
|
<directory>tests</directory>
|
2026-03-20 23:05:59 +01:00
|
|
|
<exclude>tests/Controller/StripeWebhookControllerTest.php</exclude>
|
|
|
|
|
<exclude>tests/Service/StripeServiceTest.php</exclude>
|
2026-03-04 21:52:29 +01:00
|
|
|
</testsuite>
|
|
|
|
|
</testsuites>
|
|
|
|
|
|
|
|
|
|
<source ignoreSuppressionOfDeprecations="true"
|
|
|
|
|
ignoreIndirectDeprecations="true"
|
|
|
|
|
restrictNotices="true"
|
|
|
|
|
restrictWarnings="true"
|
|
|
|
|
>
|
|
|
|
|
<include>
|
|
|
|
|
<directory>src</directory>
|
|
|
|
|
</include>
|
2026-03-20 23:05:59 +01:00
|
|
|
<exclude>
|
|
|
|
|
<file>src/Controller/StripeWebhookController.php</file>
|
|
|
|
|
<file>src/Service/StripeService.php</file>
|
2026-03-20 23:35:42 +01:00
|
|
|
<file>src/Service/PayoutPdfService.php</file>
|
Add BilletOrder entity, PDF generation, email with QR codes, public order page
- BilletOrder entity: individual tickets with unique ETICKET-XXXX reference,
billetBuyer link, billet link, isScanned, scannedAt for entry control
- BilletOrderService: generates tickets after payment, creates A4 PDF with
BilletDesign colors if present (default otherwise), real QR code via
endroid/qr-code, event poster + org logo as base64, sends confirmation
email with all ticket PDFs attached
- PDF template (pdf/billet.html.twig): A4 layout matching preview design,
real QR code linking to /ticket/verify/{reference}
- Email template: order recap table, ticket references list, link to
/ma-commande/{reference}
- Public order page /ma-commande/{reference}: no auth required, shows
order details, ticket list with individual PDF download links
- Ticket verification page /ticket/verify/{reference}: shows valid/scanned
status with ticket and event details
- Download route /ma-commande/{ref}/billet/{ticketRef}: generates PDF on-the-fly
- Migration for billet_order table with unique reference index
- BilletOrderTest: 8 tests, 24 assertions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 14:04:45 +01:00
|
|
|
<file>src/Service/BilletOrderService.php</file>
|
2026-03-21 17:08:26 +01:00
|
|
|
<file>src/Service/InvoiceService.php</file>
|
2026-03-21 18:32:58 +01:00
|
|
|
<directory>src/Repository</directory>
|
2026-03-20 23:05:59 +01:00
|
|
|
</exclude>
|
2026-03-04 21:52:29 +01:00
|
|
|
|
|
|
|
|
<deprecationTrigger>
|
|
|
|
|
<method>Doctrine\Deprecations\Deprecation::trigger</method>
|
|
|
|
|
<method>Doctrine\Deprecations\Deprecation::delegateTriggerToBackend</method>
|
|
|
|
|
<function>trigger_deprecation</function>
|
|
|
|
|
</deprecationTrigger>
|
|
|
|
|
</source>
|
|
|
|
|
|
|
|
|
|
<extensions>
|
|
|
|
|
</extensions>
|
|
|
|
|
</phpunit>
|