$this->assertEquals($data['db_check'], CDBHelper::getAll('SELECT authentication_type, disabled_usrgrpid, passwd_min_length,'.
require_once dirname(__FILE__).'/../../include/CWebTest.php';
require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php';
class testUsersAuthentication extends CWebTest {
public function getBehaviors() {
return ['class' => CMessageBehavior::class];
public function testUsersAuthentication_Layout() {
$this->page->login()->open('zabbix.php?action=authentication.edit');
$this->page->assertTitle('Configuration of authentication');
$this->page->assertHeader('Authentication');
$form = $this->query('id:authentication-form')->asForm()->one();
$auth_radio = $form->getField('Default authentication')->asSegmentedRadio();
$this->assertEquals(['Internal', 'LDAP'], $auth_radio->getLabels()->asText());
$form->checkValue(['Deprovisioned users group' => '']);
$form->query('button:Select')->waitUntilClickable()->one()->click();
$dialog = COverlayDialogElement::find()->waitUntilReady()->one();
$this->assertEquals('User groups', $dialog->getTitle());
$footer = $dialog->getFooter();
$this->assertEquals(1, $footer->query('xpath:.//button')->all()->count());
$this->assertTrue($footer->query('button:Cancel')->one()->isClickable());
$this->assertEquals(['Disabled'], $dialog->query('class:list-table')->asTable()->waitUntilVisible()->one()
$this->assertTrue($form->query('xpath:.//h4[text()="Password policy"]')->exists());
$this->assertEquals(2, $form->getField('Minimum password length')->getAttribute('maxlength'));