fix(admin): racine du back-office redirige vers /login (#91)
This commit is contained in:
parent
82adc77879
commit
fe5ac06e04
3 changed files with 35 additions and 32 deletions
|
|
@ -8,10 +8,11 @@ use App\Core\Controller;
|
|||
use App\Core\Response;
|
||||
|
||||
/**
|
||||
* Page d'accueil du back-office. GET /.
|
||||
* Racine du FQDN admin. GET /.
|
||||
*
|
||||
* Volontairement minimale en P2 : prouve que le rendu de vue MVC traverse
|
||||
* controleur -> vue -> layout sans dependre de la BDD.
|
||||
* Le back-office n'expose pas de page d'accueil publique : la racine renvoie
|
||||
* vers la connexion (RG-T02). Une fois authentifie, /login mene l'equipier
|
||||
* vers role.default_route. La sonde de sante reste sur GET /api/health.
|
||||
*/
|
||||
final class HomeController extends Controller
|
||||
{
|
||||
|
|
@ -20,9 +21,6 @@ final class HomeController extends Controller
|
|||
*/
|
||||
public function index(array $params = []): Response
|
||||
{
|
||||
return $this->view('home', [
|
||||
'title' => 'Wakdo back-office',
|
||||
'appEnv' => $this->config->appEnv(),
|
||||
]);
|
||||
return Response::make('', 302, ['Location' => '/login']);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* Fragment de la page d'accueil back-office, injecte dans layout.php.
|
||||
*
|
||||
* @var string $appEnv
|
||||
*/
|
||||
|
||||
$env = htmlspecialchars($appEnv ?? 'unknown', ENT_QUOTES, 'UTF-8');
|
||||
?>
|
||||
<main>
|
||||
<h1>Wakdo back-office</h1>
|
||||
<p>Le squelette back-end (P2) est en ligne.</p>
|
||||
<p>
|
||||
<small>
|
||||
Coeur MVC from scratch : autoloader PSR-4 manuel, routeur, PDO prepared statements.
|
||||
Environnement : <code><?= $env ?></code>.
|
||||
</small>
|
||||
</p>
|
||||
<p>
|
||||
<small>Sonde de sante : <code>GET /api/health</code></small>
|
||||
</p>
|
||||
</main>
|
||||
30
tests/Unit/Controllers/HomeControllerTest.php
Normal file
30
tests/Unit/Controllers/HomeControllerTest.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Tests\Unit\Controllers;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use App\Controllers\HomeController;
|
||||
use App\Core\Config;
|
||||
use App\Core\Database;
|
||||
use App\Core\Request;
|
||||
|
||||
/**
|
||||
* La racine du FQDN admin n'est pas une page vitrine : elle renvoie vers la
|
||||
* connexion (RG-T02). Le redirect ne touche ni la session ni la BDD.
|
||||
*/
|
||||
final class HomeControllerTest extends TestCase
|
||||
{
|
||||
public function testRootRedirectsToLogin(): void
|
||||
{
|
||||
$request = new Request('GET', '/', [], [], '', '203.0.113.5');
|
||||
$controller = new HomeController($request, new Config(), new Database(new Config()));
|
||||
|
||||
$response = $controller->index();
|
||||
|
||||
self::assertSame(302, $response->status());
|
||||
self::assertSame('/login', $response->header('Location'));
|
||||
self::assertSame('', $response->body());
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue