12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
-
- use App\Models\User;
-
- test('profile page is displayed', function () {
- $user = User::factory()->create();
-
- $response = $this
- ->actingAs($user)
- ->get('/profile');
-
- $response->assertOk();
- });
-
- test('profile information can be updated', function () {
- $user = User::factory()->create();
-
- $response = $this
- ->actingAs($user)
- ->patch('/profile', [
- 'name' => 'Test User',
- 'email' => 'test@example.com',
- ]);
-
- $response
- ->assertSessionHasNoErrors()
- ->assertRedirect('/profile');
-
- $user->refresh();
-
- $this->assertSame('Test User', $user->name);
- $this->assertSame('test@example.com', $user->email);
- $this->assertNull($user->email_verified_at);
- });
-
- test('email verification status is unchanged when the email address is unchanged', function () {
- $user = User::factory()->create();
-
- $response = $this
- ->actingAs($user)
- ->patch('/profile', [
- 'name' => 'Test User',
- 'email' => $user->email,
- ]);
-
- $response
- ->assertSessionHasNoErrors()
- ->assertRedirect('/profile');
-
- $this->assertNotNull($user->refresh()->email_verified_at);
- });
-
- test('user can delete their account', function () {
- $user = User::factory()->create();
-
- $response = $this
- ->actingAs($user)
- ->delete('/profile', [
- 'password' => 'password',
- ]);
-
- $response
- ->assertSessionHasNoErrors()
- ->assertRedirect('/');
-
- $this->assertGuest();
- $this->assertNull($user->fresh());
- });
-
- test('correct password must be provided to delete account', function () {
- $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());
- });
|