Spaces:
Sleeping
Sleeping
| use App\Models\User; | |
| test('profile page is displayed', function () { | |
| $user = User::factory()->create(); | |
| $response = $this | |
| ->actingAs($user) | |
| ->get(route('profile.edit')); | |
| $response->assertOk(); | |
| }); | |
| test('profile information can be updated', function () { | |
| $user = User::factory()->create(); | |
| $response = $this | |
| ->actingAs($user) | |
| ->patch(route('profile.update'), [ | |
| 'name' => 'Test User', | |
| 'email' => 'test@example.com', | |
| ]); | |
| $response | |
| ->assertSessionHasNoErrors() | |
| ->assertRedirect(route('profile.edit')); | |
| $user->refresh(); | |
| expect($user->name)->toBe('Test User'); | |
| expect($user->email)->toBe('test@example.com'); | |
| expect($user->email_verified_at)->toBeNull(); | |
| }); | |
| test('email verification status is unchanged when the email address is unchanged', function () { | |
| $user = User::factory()->create(); | |
| $response = $this | |
| ->actingAs($user) | |
| ->patch(route('profile.update'), [ | |
| 'name' => 'Test User', | |
| 'email' => $user->email, | |
| ]); | |
| $response | |
| ->assertSessionHasNoErrors() | |
| ->assertRedirect(route('profile.edit')); | |
| expect($user->refresh()->email_verified_at)->not->toBeNull(); | |
| }); | |
| test('user can delete their account', function () { | |
| $user = User::factory()->create(); | |
| $response = $this | |
| ->actingAs($user) | |
| ->delete(route('profile.destroy'), [ | |
| 'password' => 'password', | |
| ]); | |
| $response | |
| ->assertSessionHasNoErrors() | |
| ->assertRedirect(route('home')); | |
| $this->assertGuest(); | |
| expect($user->fresh())->toBeNull(); | |
| }); | |
| test('correct password must be provided to delete account', function () { | |
| $user = User::factory()->create(); | |
| $response = $this | |
| ->actingAs($user) | |
| ->from(route('profile.edit')) | |
| ->delete(route('profile.destroy'), [ | |
| 'password' => 'wrong-password', | |
| ]); | |
| $response | |
| ->assertSessionHasErrors('password') | |
| ->assertRedirect(route('profile.edit')); | |
| expect($user->fresh())->not->toBeNull(); | |
| }); |