| <?php |
|
|
| namespace Tests\Feature\Auth; |
|
|
| use App\Models\User; |
| use Illuminate\Foundation\Testing\RefreshDatabase; |
| use Illuminate\Support\Facades\Hash; |
| use Tests\TestCase; |
|
|
| class PasswordUpdateTest extends TestCase |
| { |
| use RefreshDatabase; |
|
|
| public function test_password_can_be_updated(): void |
| { |
| $user = User::factory()->create(); |
|
|
| $response = $this |
| ->actingAs($user) |
| ->from('/profile') |
| ->put('/password', [ |
| 'current_password' => 'password', |
| 'password' => 'new-password', |
| 'password_confirmation' => 'new-password', |
| ]); |
|
|
| $response |
| ->assertSessionHasNoErrors() |
| ->assertRedirect('/profile'); |
|
|
| $this->assertTrue(Hash::check('new-password', $user->refresh()->password)); |
| } |
|
|
| public function test_correct_password_must_be_provided_to_update_password(): void |
| { |
| $user = User::factory()->create(); |
|
|
| $response = $this |
| ->actingAs($user) |
| ->from('/profile') |
| ->put('/password', [ |
| 'current_password' => 'wrong-password', |
| 'password' => 'new-password', |
| 'password_confirmation' => 'new-password', |
| ]); |
|
|
| $response |
| ->assertSessionHasErrorsIn('updatePassword', 'current_password') |
| ->assertRedirect('/profile'); |
| } |
| } |
|
|