require_once dirname(__FILE__).'/../include/CLegacyWebTest.php';
class testPageUserGroups extends CLegacyWebTest {
public static function allGroups() {
return CDBHelper::getDataProvider("select * from usrgrp where name<>'Disabled' and name<>'Internal' order by usrgrpid");
public function testPageUserGroups_CheckLayout() {
$this->zbxTestLogin('zabbix.php?action=usergroup.list');
$this->zbxTestCheckTitle('Configuration of user groups');
$this->zbxTestCheckHeader('User groups');
$this->zbxTestAssertElementPresentXpath("//thead//th/a[text()='Name']");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'#')]");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Members')]");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Frontend access')]");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Debug mode')]");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Status')]");
$this->zbxTestTextNotPresent('Displaying 0 of 0 found');
$this->zbxTestAssertElementPresentXpath("//div[@class='table-stats'][contains(text(),'Displaying')]");
$this->zbxTestAssertElementPresentXpath("//button[text()='Enable'][@disabled]");
$this->zbxTestAssertElementPresentXpath("//button[text()='Disable'][@disabled]");
$this->zbxTestAssertElementPresentXpath("//button[text()='Enable debug mode'][@disabled]");
$this->zbxTestAssertElementPresentXpath("//button[text()='Disable debug mode'][@disabled]");
$this->zbxTestAssertElementPresentXpath("//button[text()='Delete'][@disabled]");
public function testPageUserGroups_SimpleUpdate($group) {
$usrgrpid = $group['usrgrpid'];
$sqlHashGroup = "select * from usrgrp where name='$name' order by usrgrpid";
$oldHashGroup = CDBHelper::getHash($sqlHashGroup);
$sqlHashUsersGroups = "select * from users_groups where usrgrpid=$usrgrpid order by id";
$oldHashUsersGroups = CDBHelper::getHash($sqlHashUsersGroups);