require_once dirname(__FILE__).'/../../include/CWebTest.php';
require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php';
require_once dirname(__FILE__).'/../behaviors/CTableBehavior.php';
class testPageAdministrationGeneralModules extends CWebTest {
public function getBehaviors() {
private static $dashboardid;
private static $template_dashboardid;
const TEMPLATEID = 50000;
const INACCESSIBLE_TEXT = 'No permissions to referred object or it does not exist!';
const INACCESSIBLE_XPATH = 'xpath:.//div[contains(@class, "dashboard-widget-inaccessible")]';
const HOSTNAME = 'Host for widget module test';
private static $widget_descriptions = [
'Action log' => 'Displays records about executed action operations (notifications, remote commands).',
'Clock' => 'Displays local, server, or specified host time.',
'Data overview' => 'Displays the latest item data and current status of each item for selected hosts.',
'Discovery status' => 'Displays the status summary of the active network discovery rules.',
'Favorite graphs' => 'Displays shortcuts to the most needed graphs (marked as favorite).',
'Favorite maps' => 'Displays shortcuts to the most needed network maps (marked as favorite).',
'Gauge' => 'Displays the value of a single item as gauge.',
'Geomap' => 'Displays hosts as markers on a geographical map.',
'Graph' => 'Displays data of up to 50 items as line, points, staircase, or bar charts.',
'Graph (classic)' => 'Displays a single custom graph or a simple graph.',
'Graph prototype' => 'Displays a grid of graphs created by low-level discovery from either a graph prototype or '.
'Honeycomb' => 'Displays item values as a honeycomb.',
'Host availability' => 'Displays the host count by status (available/unavailable/unknown).',
'Host navigator' => 'Displays host hierarchy with ability to control other widgets based on selected host.',
'Item history' => 'Displays the latest data for the selected items with an option to add progress bar visualizations, '.
'customize report columns, and display images for binary data types.',
'Item navigator' => 'Displays item hierarchy with ability to control other widgets based on selected item.',
'Item value' => 'Displays the value of a single item prominently.',
'Map' => 'Displays either a single configured network map or one of the configured network maps in the map '.
'Map navigation tree' => 'Allows to build a hierarchy of existing maps and display problem statistics for each '.
'included map and map group.',
'Pie chart' => 'Displays item values as a pie or doughnut chart.',
'Problem hosts' => 'Displays the problem count by host group and the highest problem severity within a group.',
'Problems' => 'Displays currently open problems with quick access links to the problem details.',
'Problems by severity' => 'Displays the problem count by severity.',
'SLA report' => 'Displays SLA reports.',
'System information' => 'Displays the current status and system statistics of the Zabbix server and its '.
'associated components.',
'Top hosts' => 'Displays top N hosts that have the highest or the lowest item value (for example, CPU load) '.
'with an option to add progress-bar visualizations and customize report columns.',
'Top triggers' => 'Displays top N triggers that have the most problems within the period of evaluation,'.
' sorted by the number of problems.',
'Trigger overview' => 'Displays trigger states for selected hosts.',
'URL' => 'Displays the content retrieved from the specified URL.',
'Web monitoring' => 'Displays the status summary of the active web monitoring scenarios.'
public static function prepareDashboardData() {