From 184d460f3d326b5fa45cf7e9c07f76c1242b6fc6 Mon Sep 17 00:00:00 2001 From: wangxuepeng Date: Thu, 21 Dec 2023 19:32:38 +0800 Subject: [PATCH] * Add unit test for screenModel::genChartData. --- module/screen/test/model/genchartdata.php | 39 +++++++++++++++++++++++ module/screen/test/screen.class.php | 21 ++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 module/screen/test/model/genchartdata.php diff --git a/module/screen/test/model/genchartdata.php b/module/screen/test/model/genchartdata.php new file mode 100644 index 0000000000..3d9fb18f94 --- /dev/null +++ b/module/screen/test/model/genchartdata.php @@ -0,0 +1,39 @@ +#!/usr/bin/env php +genChartDataTest(); +cid=1 +pid=1 + +- 测试id为1的screen生成的chartData是否正确。@1300,3267,normal,dark;30,~~,second +- id为5的燃尽图,不需要做任何的图片处理。@N/A +- 测试传入的过滤参数是否正常赋值。@2022,1,admin + +*/ + +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/screen.class.php'; + +$screenTest = new screenTest(); +$screenIDList = array(1, 5, 8); +$screenList = array(); + +foreach($screenIDList as $screenID) +{ + $screenList[$screenID] = $tester->dao->select('*')->from(TABLE_SCREEN)->where('id')->eq($screenID)->fetch(); +} + +$yearList = array(0, 2022); +$deptList = array(0 ,1); +$accountList = array('', 'admin'); + +list($chart, $filter) = $screenTest->genChartDataTest($screenList[1], $yearList[0], $deptList[0], $accountList[0]); + +r($chart) && p('editCanvasConfig:width,height,blendMode,chartThemeColor;requestGlobalConfig:requestInterval,requestOriginUrl,requestIntervalUnit') && e('1300,3267,normal,dark;30,~~,second'); //测试id为1的screen生成的chartData是否正确。 +r($chart->componentList) && p('0:id;43:id') && e('5scfjzqsbzo000;1j55da3c41vk00'); + +list($chart1, $filter) = $screenTest->genChartDataTest($screenList[5], $yearList[1], $deptList[1], $accountList[1]); +r($chart1) && p('editCanvasConfig') && e('~~'); //id为5的燃尽图,不需要做任何的图片处理。 +r($filter) && p('year,dept,account') && e('2022,1,admin'); //测试传入的过滤参数是否正常赋值。 diff --git a/module/screen/test/screen.class.php b/module/screen/test/screen.class.php index c29fdd9301..5bc7543e85 100644 --- a/module/screen/test/screen.class.php +++ b/module/screen/test/screen.class.php @@ -2,7 +2,9 @@ class screenTest { + private $objectModel; public $componentList = array(); + public function __construct() { global $tester; @@ -357,4 +359,23 @@ class screenTest { return call_user_func_array(array($this->objectModel, $method), $args); } + + /** + * 测试genChartData。 + * Test genChartData. + * + * @param object $screen + * @param int $year + * @param int $dept + * @param string $account + * @access public + * @return array + */ + public function genChartDataTest(object $screen, int $year = 0, int $dept = 0, string $account = ''): array + { + $chartData = $this->objectModel->genChartData($screen, $year, $dept, $account); + $filter = $this->objectModel->filter; + + return array($chartData, $filter); + } }