You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							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 | 
						|
            ->assertSessionHasErrors('current_password') | 
						|
            ->assertRedirect('/profile'); | 
						|
    } | 
						|
}
 | 
						|
 |