56 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Pterodactyl\Tests\Browser\Processes\Dashboard;
 | |
| 
 | |
| use Pterodactyl\Tests\Browser\PterodactylBrowser;
 | |
| use Pterodactyl\Tests\Browser\Pages\Dashboard\AccountPage;
 | |
| 
 | |
| class AccountPasswordProcessTest extends DashboardTestCase
 | |
| {
 | |
|     /**
 | |
|      * Test that a user is able to change their password.
 | |
|      */
 | |
|     public function testPasswordCanBeChanged()
 | |
|     {
 | |
|         $this->browse(function (PterodactylBrowser $browser) {
 | |
|             $browser->loginAs($this->user)
 | |
|                 ->visit(new AccountPage)
 | |
|                 ->type('@current_password', self::$userPassword)
 | |
|                 ->assertMissing('@new_password ~ .input-help.error')
 | |
|                 ->type('@new_password', 'test')
 | |
|                 ->assertSeeIn('@new_password ~ .input-help.error', 'The password field must be at least 8 characters.')
 | |
|                 ->type('@new_password', 'Test1234')
 | |
|                 ->assertMissing('@new_password ~ .input-help.error')
 | |
|                 ->assertMissing('@confirm_password ~ .input-help.error')
 | |
|                 ->type('@confirm_password', 'test')
 | |
|                 ->assertSeeIn('@confirm_password ~ .input-help.error', 'The password value is not valid.')
 | |
|                 ->type('@confirm_password', 'Test1234')
 | |
|                 ->assertMissing('@confirm_password ~ .input-help.error')
 | |
|                 ->click('@submit_password')
 | |
|                 ->waitFor('@@success')
 | |
|                 ->assertSeeIn('@@success', 'Your password has been updated.')
 | |
|                 ->assertInputValue('@current_password', '')
 | |
|                 ->assertInputValue('@new_password', '')
 | |
|                 ->assertInputValue('@confirm_password', '');
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Test that invalid passwords result in the expected error message.
 | |
|      */
 | |
|     public function testInvalidPassword()
 | |
|     {
 | |
|         $this->browse(function (PterodactylBrowser $browser) {
 | |
|             $browser->loginAs($this->user)
 | |
|                 ->visit(new AccountPage)
 | |
|                 ->type('@current_password', 'badpassword')
 | |
|                 ->type('@new_password', 'testtest')
 | |
|                 ->type('@confirm_password', 'testtest')
 | |
|                 ->click('@submit_password')
 | |
|                 ->waitFor('@@error')
 | |
|                 ->assertSeeIn('@@error', trans('validation.internal.invalid_password'))
 | |
|                 ->assertInputValue('@current_password', '');
 | |
|         });
 | |
|     }
 | |
| }
 | 
