Bibliothèque Browsershot moqueuse dans vos tests

DEV - 05/09
Au cours de notre parcours en tant que développeurs, nous nous retrouvons souvent à créer des applications qui doivent exporter...

Au cours de notre parcours en tant que développeurs, nous nous retrouvons souvent à créer des applications qui doivent exporter des rapports ou des pages au format PDF. Pendant longtemps, nous avons utilisé diverses bibliothèques pour cette tâche, telles que mPDF, FPDF, wkHtmlToPdf, entre autres. Cependant, aujourd'hui, à mon humble avis, nous disposons de l'un des meilleurs packages de génération de PDF sur le marché, à savoir Browsershot. Il est simple de configurer et de générer des fichiers PDF.

Mais voici le problème auquel certains développeurs sont confrontés : comment puis-je écrire des tests pour une classe qui utilise Browsershot ? Allons un peu plus loin.

Imaginez que nous ayons une classe appelée GeneratePdf qui prend comme paramètres un nom de fichier, une URL à restituer et peut-être le format du papier. Cette classe enregistrera notre PDF sur AWS S3.

⚠️ Les exemples ici sont écrits dans une application Laravel et utilisent Pest pour les tests automatisés.

?php declare(strict_types=1); namespace App\Actions; use Illuminate\Support\Facades\Storage; use Spatie\Browsershot\Browsershot; class GeneratePdf { public function handle( string $fileName, string $url, string $paperSize = 'A4' ): string | false { $path = '/exports/pdf/'...
[Courte citation de 8% de l'article original]
Loading...