ajoute le portail Laravel : connexion prof/élève, session unique, gestion de classe, salle d'attente

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Adam Belkacemi 2026-10-08 02:01:58 +02:00
parent aa31b6112f
commit 30e14b1c54
191 changed files with 25324 additions and 0 deletions

View file

@ -0,0 +1,42 @@
<?php
use App\Models\Eleve;
use Illuminate\Support\Facades\Hash;
test("un élève se connecte avec son identifiant et son code secret, et voit son tableau de bord", function () {
$eleve = Eleve::factory()->create([
'prenom' => 'Léa',
'identifiant' => 'lea.m',
'code_secret' => Hash::make('ABC123'),
]);
$this->post(route('connexion.eleve'), [
'identifiant' => 'lea.m',
'code' => 'ABC123',
])->assertRedirect(route('eleve'));
$this->assertAuthenticatedAs($eleve, 'eleve');
$this->get(route('eleve'))
->assertOk()
->assertSee('Salut Léa')
->assertSee($eleve->classe->nom);
});
test('un mauvais code secret refuse la connexion élève', function () {
$eleve = Eleve::factory()->create([
'identifiant' => 'lea.m',
'code_secret' => Hash::make('ABC123'),
]);
$this->post(route('connexion.eleve'), [
'identifiant' => 'lea.m',
'code' => 'FAUXCODE',
])->assertSessionHasErrors('identifiant');
$this->assertGuest('eleve');
});
test('un élève non connecté est renvoyé vers la connexion', function () {
$this->get(route('eleve'))->assertRedirect(route('login'));
});