You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
<?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'); |
|
} |
|
}
|
|
|