2026-10-09 21:07:25 +02:00
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
test('les pages légales sont en ligne et la page de statut redirige vers le site de statut', function () {
|
2026-10-09 21:44:02 +02:00
|
|
|
|
$this->get(route('legal'))->assertOk()->assertSee('Esquisse Formation')->assertSee('entrepreneur individuel (EI)')->assertSee('SIREN 838 093 268')->assertSee('RCS Paris 433 115 904');
|
2026-10-09 21:07:25 +02:00
|
|
|
|
$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);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|