require_once dirname(__FILE__).'/../../include/CWebTest.php';
class testWidgets extends CWebTest {
const HOST_ALL_ITEMS = 'Host for all item value types';
const TABLE_SELECTOR = 'xpath://form[@name="itemform"]//table';
const USER_MACRO = '{$USER.MACRO}';
const USER_MACRO_VALUE = 'Macro function Test 12345';
const USER_SECRET_MACRO = '{$SECRET.MACRO}';
const MACRO_CHAR = '{$MACRO.CHAR}';
const MACRO_HTML_ENCODE = '{$MACRO.HTML.ENCODE}';
const MACRO_HTML_ENCODE_VALUE = '<a href="test.url">"test&"</a>';
const MACRO_HTML_DECODE = '{$MACRO.HTML.DECODE}';
const MACRO_HTML_DECODE_VALUE = '<a href="test.url">"test&"</a>';
const MACRO_CHAR_VALUE = '000 ЙщфхжЖŽzŠsšĒĀīī🌴 ₰₰₰';
const MACRO_URL_ENCODE = '{$MACRO.URL.ENCODE}';
const MACRO_URL_ENCODE_VALUE = 'h://test.com/macro?functions=urlencode&urld=a🎸';
const MACRO_URL_DECODE = '{$MACRO.URL.DECODE}';
const MACRO_URL_DECODE_VALUE = 'h%3A%2F%2Ftest.com%2Fmacro%3Ffunctions%3Durlencode%26urld%3Da%F0%9F%8E%B8';
protected static $dashboardid;
const SQL = 'SELECT wf.widgetid, wf.type, wf.name, wf.value_int, wf.value_str, wf.value_groupid, wf.value_hostid,'.
' wf.value_itemid, wf.value_graphid, wf.value_sysmapid, w.widgetid, w.dashboard_pageid, w.type, w.name, w.x, w.y,'.
' ON w.widgetid=wf.widgetid'.
' ORDER BY wf.widgetid, wf.name, wf.value_int, wf.value_str, wf.value_groupid, wf.value_itemid,'.
' wf.value_graphid, wf.value_hostid';
public function checkAvailableItems($url, $widget) {
$this->page->login()->open($url)->waitUntilReady();
$widget_dialog = CDashboardElement::find()->one()->waitUntilReady()->edit()->addWidget();
$widget_form = $widget_dialog->asForm();
$widget_form->fill(['Type' => CFormElement::RELOADABLE_FILL($widget)]);