create(['password' => Hash::make('mot-de-passe-prof')]); $this->post(route('connexion.prof'), [ 'email' => $prof->email, 'password' => 'mot-de-passe-prof', ])->assertRedirect(route('mes-classes.index')); $this->assertAuthenticatedAs($prof, 'web'); }); test('un mauvais mot de passe refuse la connexion', function () { $prof = User::factory()->create(['password' => Hash::make('mot-de-passe-prof')]); $this->post(route('connexion.prof'), [ 'email' => $prof->email, 'password' => 'mauvais-mot-de-passe', ])->assertSessionHasErrors('email'); $this->assertGuest('web'); }); test('la page de connexion affiche le formulaire prof et élève', function () { $this->get(route('login')) ->assertOk() ->assertSee('Je suis élève') ->assertSee('Je suis enseignant'); }); test('un prof connecté voit "Mes classes" dans le menu produit, pas la démo "Tableau de bord prof"', function () { $classe = \App\Models\Classe::factory()->create(); commeProf($this, $classe->prof) ->get(route('mes-classes.index')) ->assertSee('Mes classes') ->assertDontSee('Tableau de bord prof') ->assertDontSee('outil=cockpit', false); });