create(); $response = $this ->actingAs($user) ->get('/profile'); $response->assertOk(); } public function test_profile_update(): void { $user = User::factory()->create(); $response = $this->actingAs($user)->put('/profile', [ 'name' => 'Test User', 'username' => 'testuser', ]); $response->assertSessionHasNoErrors(); $this->assertSame('Test User', $user->fresh()->name); $this->assertSame('testuser', $user->fresh()->username); } public function test_user_can_delete_their_account(): void { $user = User::factory()->create(); $response = $this ->actingAs($user) ->delete('/profile', [ 'password' => 'password', ]); $response ->assertSessionHasNoErrors() ->assertRedirect('/'); $this->assertGuest(); $this->assertNull($user->fresh()); } public function test_correct_password_must_be_provided_to_delete_account(): void { $user = User::factory()->create(); $response = $this ->actingAs($user) ->from('/profile') ->delete('/profile', [ 'password' => 'wrong-password', ]); $response ->assertSessionHasErrorsIn('userDeletion', 'password') ->assertRedirect('/profile'); $this->assertNotNull($user->fresh()); } }