create(); } public function testLoginScreenCanBeRendered(): void { $response = $this->get('/login'); $response->assertStatus(200); } public function testUsersCanAuthenticateUsingTheLoginScreen(): void { $user = User::factory()->create(); $response = $this->post('/login', [ 'email' => $user->email, 'password' => 'password', ]); $this->assertAuthenticated(); $response->assertRedirect(route('dashboard', absolute: false)); } public function testUsersCanNotAuthenticateWithInvalidPassword(): void { $user = User::factory()->create(); $this->post('/login', [ 'email' => $user->email, 'password' => 'wrong-password', ]); $this->assertGuest(); } public function testUsersCanLogout(): void { $user = User::factory()->create(); $response = $this->actingAs($user)->post('/logout'); $this->assertGuest(); $response->assertRedirect('/'); } }