Ajouter les pages personnalisées au site public
This commit is contained in:
parent
9e05196440
commit
21ee1bec36
17 changed files with 428 additions and 65 deletions
|
|
@ -34,6 +34,7 @@ foreach (
|
|||
'SpeciesService',
|
||||
'LabReferenceService',
|
||||
'PublicContentFormatter',
|
||||
'PublicPageService',
|
||||
'ShelterRoomService',
|
||||
'GlobalSearchService',
|
||||
'PrivateMediaService',
|
||||
|
|
@ -306,6 +307,25 @@ try {
|
|||
$assert(str_contains($layout, 'rel="noopener noreferrer"'), 'Les liens externes ne sont pas protégés');
|
||||
$assert(!str_contains($contact, '$socialNetworks = ['), 'Le catalogue social est encore dupliqué');
|
||||
});
|
||||
$test('Les pages publiques personnalisées conservent ordre et textes longs', function () use ($assert): void {
|
||||
$longText = str_repeat('Une histoire du refuge. ', 1200);
|
||||
PublicPageService::saveAll([
|
||||
['title' => 'Nos partenaires', 'slug' => 'nos-partenaires', 'content' => 'Partenaires', 'enabled' => '1', 'position' => '2'],
|
||||
['title' => 'Notre histoire', 'slug' => 'notre-histoire', 'content' => $longText, 'enabled' => '1', 'position' => '1'],
|
||||
]);
|
||||
$pages = PublicPageService::all(true);
|
||||
$assert(count($pages) === 2, 'Les pages personnalisées ne sont pas enregistrées');
|
||||
$assert($pages[0]['slug'] === 'notre-histoire', 'L’ordre choisi n’est pas conservé');
|
||||
$assert($pages[0]['content'] === trim($longText), 'Le texte long a été tronqué');
|
||||
$assert(PublicPageService::findBySlug('notre-histoire') !== null, 'La page publiée est introuvable');
|
||||
$assert(PublicPageService::normalizeSlug('Équipe & refuge') === 'equipe-refuge', 'L’adresse automatique est invalide');
|
||||
$view = file_get_contents(__DIR__ . '/../app/Views/settings_public_site.php');
|
||||
$assert(str_contains($view, 'id="public-page-add"'), 'Le bouton d’ajout est absent');
|
||||
$assert(str_contains($view, 'draggable="true"'), 'Le glisser-déposer est absent');
|
||||
$assert(str_contains($view, 'public-page-up'), 'Le déplacement accessible est absent');
|
||||
$controller = file_get_contents(__DIR__ . '/../app/Controllers/PublicSiteController.php');
|
||||
$assert(str_contains($controller, "'/site/page/'"), 'La route publique personnalisée est absente');
|
||||
});
|
||||
$test('Authentification et mot de passe haché', function () use ($db, $assert): void {
|
||||
$assert(ini_get('session.use_strict_mode') === '1', 'Le mode strict des sessions est désactivé');
|
||||
$hash = password_hash('MotDePasseSolide!', PASSWORD_DEFAULT);
|
||||
|
|
|
|||
Loading…
Reference in a new issue