mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-11-04 06:26:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			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', '');
 | 
						|
        });
 | 
						|
    }
 | 
						|
}
 |