require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php';
class testPageUsers extends CLegacyWebTest {
public $userAlias = 'Admin';
public $userName = 'Zabbix';
public $userSurname = 'Administrator';
public $userRole = 'Super admin role';
public static function allUsers() {
return CDBHelper::getDataProvider('select * from users');
public function testPageUsers_CheckLayout() {
$this->zbxTestLogin('zabbix.php?action=user.list');
$this->zbxTestCheckTitle('Configuration of users');
$this->zbxTestCheckHeader('Users');
$this->zbxTestDropdownHasOptions('filter_usrgrpid', ['All', 'Disabled', 'Enabled debug mode', 'Guests', 'No access to the frontend', 'Zabbix administrators']);
$this->zbxTestDropdownSelectWait('filter_usrgrpid', 'Zabbix administrators');
$this->zbxTestTextNotPresent('guest');
$this->zbxTestAssertElementText("//tbody/tr[1]/td[2]/a", $this->userAlias);
$this->zbxTestAssertElementText("//tbody/tr[1]/td[3]", $this->userName);
$this->zbxTestAssertElementText("//tbody/tr[1]/td[4]", $this->userSurname);
$this->zbxTestAssertElementText("//tbody/tr[1]/td[5]", $this->userRole);
$this->zbxTestAssertElementPresentXpath("//thead//th/a[text()='Username']");
$this->zbxTestAssertElementPresentXpath("//thead//th/a[text()='Name']");
$this->zbxTestAssertElementPresentXpath("//thead//th/a[text()='Last name']");
$this->zbxTestAssertElementPresentXpath("//thead//th/a[text()='User role']");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Groups')]");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Is online?')]");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Login')]");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Frontend access')]");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Debug mode')]");
$this->zbxTestAssertElementPresentXpath("//thead//th[contains(text(),'Status')]");
$this->zbxTestAssertElementPresentXpath("//button[text()='Unblock'][@disabled]");
$this->zbxTestAssertElementPresentXpath("//button[text()='Delete'][@disabled]");
$this->zbxTestTextNotPresent('Displaying 0 of 0 found');
$this->zbxTestAssertElementPresentXpath("//div[@class='table-stats'][contains(text(),'Displaying')]");
$this->zbxTestAssertElementText("//span[@id='selected_count']", '0 selected');