require_once dirname(__FILE__) . '/../../include/CWebTest.php';
require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php';
class testPageAdministrationProxyGroups extends CWebTest {
public function getBehaviors() {
public function testPageAdministrationProxyGroups_Layout() {
$this->page->login()->open('zabbix.php?action=proxygroup.list')->waitUntilReady();
$this->page->assertTitle('Configuration of proxy groups');
$this->page->assertHeader('Proxy groups');
$this->assertTrue($this->query('button:Create proxy group')->one()->isClickable());
$filter_form = $this->query('name:zbx_filter')->waitUntilPresent()->asForm()->one();
'options' => ['Any', 'Online', 'Degrading', 'Offline', 'Recovering']
foreach ($filter_fields as $field_name => $field_params) {
$filter_field = $filter_form->getField($field_name);
$this->assertEquals($field_params['default'], $filter_field->getValue());
if (array_key_exists('maxlength', $field_params)) {
$this->assertEquals($field_params['maxlength'], $filter_field->getAttribute('maxlength'));
if (array_key_exists('options', $field_params)) {
$this->assertEquals($field_params['options'], $filter_field->getLabels()->asText());
$this->assertEquals(['Apply', 'Reset'], $filter_form->query('tag:button')->all()
->filter(new CElementFilter(CElementFilter::CLICKABLE))->asText()
$filter_tab = $filter_form->query('xpath://div[contains(@class, "ui-tabs-panel")]')->one();
$filter_button = $this->query('xpath://a[contains(@class, "filter-trigger")]')->one();
foreach ([true, false] as $visible) {
$this->assertEquals($visible, $filter_tab->isDisplayed());
$table = $this->query('class:list-table')->asTable()->one()->waitUntilPresent();
$this->assertEquals(['', 'Name', 'State', 'Failover period', 'Online proxies', 'Minimum proxies', 'Proxies'],