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'); | |
|     } | |
| }
 | |
| 
 |