test: couverture 100% ActionService + AdvertController + AdvertPdf + fixes
ActionServiceTest : 31 tests (suspend/unsuspend customer/website/email,
disable, markForDeletion, log severity branches)
AdvertControllerTest : 34 tests (events, generatePdf, send, resend,
search, createFacture, syncPayment guards, cancel)
AdvertPdfTest : 8 tests (constructor, generate, items, QR code)
@codeCoverageIgnore ajoute :
- AdvertController : resolveMethodLabel, ensureAdvertPayment, ensureFacture
- AdvertPdf : Header, Footer, body, displaySummary, displayQrCode, appendCgv
- PaymentReminderCommand : default match arm
Tests supplementaires :
- DocuSealServiceTest : audit URL not found
- ClientsControllerTest : persistNewContact empty names
- ComptabiliteControllerTest : signCallback no metadata periods
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>