41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
use App\Models\User;
 | 
						|
use Illuminate\Support\Facades\Hash;
 | 
						|
 | 
						|
test('password can be updated', function () {
 | 
						|
    $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));
 | 
						|
});
 | 
						|
 | 
						|
test('correct password must be provided to update password', function () {
 | 
						|
    $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');
 | 
						|
});
 |