Paillasse/portail/tests/Feature/PagesLegalesTest.php
Adam Belkacemi 1ac8d4773a corrige /ide, sert Mulish depuis le portail et complète les mentions légales
/ide avait une erreur de syntaxe depuis la maquette et un aperçu hors de
son bac à sable. Mulish était encore importée depuis Google par la feuille
de thème. Nouveaux tests : syntaxe des scripts de chaque page, feuilles de
style sans import externe. public/vendor exclu du rsync.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:44:02 +02:00

36 lines
2.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
test('les pages légales sont en ligne et la page de statut redirige vers le site de statut', function () {
$this->get(route('legal'))->assertOk()->assertSee('Esquisse Formation')->assertSee('entrepreneur individuel (EI)')->assertSee('SIREN 838 093 268')->assertSee('RCS Paris 433 115 904');
$this->get(route('confidentialite'))->assertOk()
->assertSee('90 jours après l’archivage', false)
->assertSee('aucune adresse e-mail', false)
->assertSee('cdn.tailwindcss.com');
$this->get(route('statut'))->assertRedirect('https://status.syllabuslab.fr');
});
test('« Conforme au RGPD » renvoie à la politique de confidentialité, et rien n’affiche « Hébergé en France · Paris »', function () {
$accueil = $this->get(route('accueil'))->getContent();
expect($accueil)->toContain('href="'.route('confidentialite').'" style="color:#0b1220">Conforme au RGPD</a>')
->and($accueil)->toContain(route('statut'))
->and($accueil)->not->toContain('· Paris</span>')
->and($accueil)->not->toContain('20 cursus');
});
test('les pages d’aperçu sont signalées et ne citent aucun vrai établissement comme utilisateur', function () {
// Noms cherchés un par un : dans les tableaux, nom et ville sont dans
// deux cellules différentes (un premier test qui les cherchait collés
// laissait passer « Lycée Vauban | Brest »).
$vraisNoms = '/Vauban|Condorcet|Saint-Exupéry|Louis-Armand|Jean-Jaurès|Villetaneuse|Gustave-Eiffel|Martinière|Académie de (Créteil|Paris)/';
$apercus = ['/classes/suivi', '/examen', '/banque', '/quiz/projection', '/quiz', '/bibliotheque', '/generateur', '/labs/web',
'/maison', '/devoirs', '/td/imprimer', '/cockpit', '/mon-espace', '/vie-scolaire', '/eleves/fiche', '/correction',
'/sujets/creer', '/messagerie', '/exports', '/academie', '/paiement', '/paiement/confirme', '/compte/facturation',
'/etablissement', '/cohortes', '/visio', '/ressources/outil', '/ide', '/labs/essai', '/cours/adressage-ipv4',
'/cours/adressage-ipv4/cm', '/cours/fiche'];
foreach ($apercus as $route) {
$page = $this->get($route)->assertOk()->getContent();
expect($page)->toContain('Aperçu d’une fonction en préparation')
->and($page)->not->toMatch($vraisNoms, $route);
}
});