23 lines
960 B
PHP
23 lines
960 B
PHP
|
|
<?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([]);
|
|||
|
|
});
|