Paillasse/portail/tests/Feature/PagesPubliquesTest.php

23 lines
960 B
PHP
Raw Normal View History

<?php
use Illuminate\Support\Facades\Route;
// Toutes les pages publiques sans paramètre doivent s'afficher : la page
// /cours a été en erreur 500 de l'étape 8 à l'étape 12 sans que personne
// ne le voie.
test('chaque page publique s’affiche sans erreur', function () {
$pages = collect(Route::getRoutes())
->filter(fn ($r) => in_array('GET', $r->methods(), true)
&& $r->getName() !== null
&& ! str_contains($r->uri(), '{')
&& ! collect($r->gatherMiddleware())->contains(fn ($m) => is_string($m) && str_starts_with($m, 'auth')))
->reject(fn ($r) => str_starts_with($r->uri(), 'horizon') || str_starts_with($r->uri(), '_') || $r->uri() === 'up');
expect($pages)->not->toBeEmpty();
$echecs = $pages->mapWithKeys(fn ($r) => [$r->uri() => $this->get('/'.ltrim($r->uri(), '/'))->getStatusCode()])
->reject(fn ($code) => $code === 200);
expect($echecs->all())->toBe([]);
});