* Modify test file.

This commit is contained in:
xieqiyu
2023-12-07 10:12:47 +08:00
parent ba4bf56644
commit 5eb18e5ee4
9 changed files with 45 additions and 35 deletions
+2 -3
View File
@@ -608,9 +608,9 @@ class chartModel extends model
*
* @param string $sql
* @access public
* @return array
* @return array|false
*/
public function getTables(string $sql): array
public function getTables(string $sql): array|false
{
$processedSql = trim($sql, ';');
$processedSql = str_replace(array("\r\n", "\n"), ' ', $processedSql);
@@ -674,4 +674,3 @@ class chartModel extends model
return $sql;
}
}
+2 -2
View File
@@ -55,9 +55,9 @@ class chartTest
* @access public
* @return string
*/
public function isClickableTest(int $chartID): string
public function isClickableTest(int $chartID, string $action): string
{
$chart = $this->objectModel->getByID($chartID);
return $this->objectModel->isClickable($chart) ? 'true' : 'false';
return $this->objectModel->isClickable($chart, $action) ? 'true' : 'false';
}
}
+1 -1
View File
@@ -16,5 +16,5 @@ su('admin');
global $tester;
$chart = $tester->loadModel('chart');
r($chart->getByID(10086)) && p() && e('0'); //测试获取一个不存在的ID 的图表
r($chart->getByID(10086)) && p() && e('0'); //测试获取一个不存在的ID 的图表
r($chart->getByID(1018)) && p('id,name,stage') && e('1018,宏观数据-一级项目集个数,published'); //测试获取宏观数据-一级项目集个数图表
@@ -20,3 +20,4 @@ $chart = $tester->loadModel('chart');
r($chart->getDefaultCharts(36)) && p() && e('0'); //测试传入的分组是子分组时,返回空数据
r($chart->getDefaultCharts(123)) && p() && e('0'); //测试查询不存在的分组
r($chart->getDefaultCharts(35)) && p('0:currentGroup') && e(45); //获取组织分组下第一个图表的当前分组ID
r($chart->getDefaultCharts(35)) && p('0:id,name') && e('1043,宏观数据-公司项目集状态分布'); //获取组织分组下第一个图表的ID和名称
+8 -18
View File
@@ -17,26 +17,16 @@ zdTable('dept')->gen(5);
zdTable('bug')->gen(5);
su('admin');
$type = array();
$type[''] = '';
$type['user'] = 'user';
$type['product'] = 'product';
$type['project'] = 'project';
$type['dept'] = 'dept';
$type['option'] = 'option';
$type['object'] = 'object';
$type['string'] = 'string';
global $tester;
$chart = $tester->loadModel('chart');
r($chart->getFieldOptions($type[''], '', '', '')) && p() && e('0'); //测试参数全部为空
r($chart->getFieldOptions($type['user'], '', '', '')) && p('admin') && e('A:admin'); //测试查询用户
r($chart->getFieldOptions($type['product'], '', '', '')) && p('1') && e('正常产品1'); //测试查询产品
r($chart->getFieldOptions($type['project'], '', '', '')) && p('11') && e('项目11'); //测试查询项目
r($chart->getFieldOptions($type['dept'], '', '', '')) && p('1') && e('/产品部1'); //测试查询部门
r($chart->getFieldOptions('', '', '', '')) && p() && e('0'); //测试参数全部为空
r($chart->getFieldOptions('user', '', '', '')) && p('admin') && e('A:admin'); //测试查询用户
r($chart->getFieldOptions('product', '', '', '')) && p('1') && e('正常产品1'); //测试查询产品
r($chart->getFieldOptions('project', '', '', '')) && p('11') && e('项目11'); //测试查询项目
r($chart->getFieldOptions('dept', '', '', '')) && p('1') && e('/产品部1'); //测试查询部门
r($chart->getFieldOptions($type['option'], 'bug', 'status', '')) && p('active') && e('激活'); //测试查询bug状态
r($chart->getFieldOptions($type['object'], 'bug', 'title', '')) && p('1') && e('BUG1'); //测试查询bug名称
r($chart->getFieldOptions('option', 'bug', 'status', '')) && p('active') && e('激活'); //测试查询bug状态
r($chart->getFieldOptions('object', 'bug', 'title', '')) && p('1') && e('BUG1'); //测试查询bug名称
r($chart->getFieldOptions($type['string'], '', 'title', 'select * from zt_bug')) && p('BUG1') && e('BUG1'); //测试使用sql查询
r($chart->getFieldOptions('string', '', 'title', 'select * from zt_bug')) && p('BUG1') && e('BUG1'); //测试使用sql查询
+18 -4
View File
@@ -24,20 +24,34 @@ $sql[3] = 'select t1.id as storyID,t2.name as productName from zt_story as t1 le
$sql[4] = 'select * from zt_story where id = 1;';
$sql[5] = 'select * from zt_story limit 10;';
$sql[6] = 'select * from zt_story group by product;';
$sql[7] = 'select * where table;';
r($chart->getTables($sql[0])) && p('tables:0') && e('zt_story'); //测试普通SQL语句获取表是否正确
r($chart->getTables($sql[0])) && p('fields:*') && e('*'); //测试普通SQL语句获取字段是否正确
r($chart->getTables($sql[0])) && p('tables:0') && e('zt_story'); //测试普通SQL语句获取表是否正确
r($chart->getTables($sql[0])) && p('fields:*') && e('*'); //测试普通SQL语句获取字段是否正确
r($chart->getTables($sql[0])) && p('sql') && e('select * from zt_story;'); //测试普通SQL语句获取sql是否正确
r($chart->getTables($sql[1])) && p('tables:0') && e('zt_story'); //测试普通SQL语句获取表是否正确
r($chart->getTables($sql[1])) && p('fields:id,name') && e('id,name'); //测试普通SQL语句获取查询字段是否正确
r($chart->getTables($sql[1])) && p('sql', '-') && e('select id,name from zt_story;'); //测试普通SQL语句获取sql是否正确
r($chart->getTables($sql[2])) && p('tables:0,1') && e('zt_story,zt_product'); //测试联表SQL语句获取表是否正确
r($chart->getTables($sql[2])) && p('fields:id,name') && e('t1.id,t2.name'); //测试联表SQL语句获取字段是否正确
r($chart->getTables($sql[2])) && p('tables:0,1') && e('zt_story,zt_product'); //测试联表SQL语句获取表是否正确
r($chart->getTables($sql[2])) && p('fields:id,name') && e('t1.id,t2.name'); //测试联表SQL语句获取字段是否正确
r($chart->getTables($sql[2])) && p('sql', '-') && e('select t1.id,t2.name from zt_story as t1 left join zt_product as t2 on t1.product = t2.id;'); //测试联表SQL语句获取sql是否正确
r($chart->getTables($sql[3])) && p('tables:0,1') && e('zt_story,zt_product'); //测试联表SQL语句获取重定义字段是否正确
r($chart->getTables($sql[3])) && p('fields:storyID,productName') && e('t1.id,t2.name'); //测试联表SQL语句获取重定义字段是否正确
r($chart->getTables($sql[3])) && p('sql', '-') && e('select t1.id as storyID,t2.name as productName from zt_story as t1 left join zt_product as t2 on t1.product = t2.id;'); //测试联表SQL语句获取sql是否正确
r($chart->getTables($sql[4])) && p('tables:0') && e('zt_story'); //测试sql中有where获取表是否正确
r($chart->getTables($sql[4])) && p('fields:*') && e('*'); //测试sql中有where获取字段是否正确
r($chart->getTables($sql[4])) && p('sql') && e('select * from zt_story where id = 1;'); //测试sql中有where获取sql是否正确
r($chart->getTables($sql[5])) && p('tables:0') && e('zt_story'); //测试sql中有limit获取表是否正确
r($chart->getTables($sql[5])) && p('fields:*') && e('*'); //测试sql中有limit获取字段是否正确
r($chart->getTables($sql[5])) && p('sql') && e('select * from zt_story limit 10;'); //测试sql中有limit获取sql是否正确
r($chart->getTables($sql[6])) && p('tables:0') && e('zt_story'); //测试sql中有group by获取表是否正确
r($chart->getTables($sql[6])) && p('fields:*') && e('*'); //测试sql中有group by获取字段是否正确
r($chart->getTables($sql[6])) && p('sql') && e('select * from zt_story group by product;'); //测试sql中有group by获取sql是否正确
r($chart->getTables($sql[7])) && p('') && e('0'); //测试异常sql语句
+4 -4
View File
@@ -17,8 +17,8 @@ su('admin');
global $tester;
$chart = $tester->loadModel('chart');
r($chart->getTreeMenu(0)) && P() && e('0'); //测试ID为0时是否返回空
r($chart->getTreeMenu(36)) && P() && e('0'); //测试传入子分组时是否返回空
r($chart->getTreeMenu(30)) && P() && e('0'); //测试获取的分组为空
r($chart->getTreeMenu(0)) && p() && e('0'); //测试ID为0时是否返回空
r($chart->getTreeMenu(36)) && p() && e('0'); //测试传入子分组时是否返回空
r($chart->getTreeMenu(30)) && p() && e('0'); //测试获取的分组为空
r($chart->getTreeMenu(32)) && P("1:id,parent,name") && e("36_1102,36,年度排行-产品-完成需求规模榜"); //测试产品分组下的图表树
r($chart->getTreeMenu(32)) && p("1:id,parent,name") && e("36_1102,36,年度排行-产品-完成需求规模榜"); //测试产品分组下的图表树
+6 -2
View File
@@ -15,5 +15,9 @@ zdTable('user')->gen(5);
su('admin');
$chart = new chartTest();
r($chart->isClickableTest(1001)) && p() && e('false'); //测试内置报表的操作按钮是否不可点击
r($chart->isClickableTest(1077)) && p() && e('true'); //测试非内置报表的操作按钮是否可点击
r($chart->isClickableTest(1001, 'design')) && p() && e('false'); //测试内置报表的设计按钮是否不可点击
r($chart->isClickableTest(1001, 'edit')) && p() && e('false'); //测试内置报表的编辑按钮是否不可点击
r($chart->isClickableTest(1001, 'delete')) && p() && e('false'); //测试内置报表的删除按钮是否不可点击
r($chart->isClickableTest(1077, 'design')) && p() && e('true'); //测试非内置报表的设计按钮是否可点击
r($chart->isClickableTest(1077, 'edit')) && p() && e('true'); //测试非内置报表的编辑按钮是否可点击
r($chart->isClickableTest(1077, 'delete')) && p() && e('true'); //测试非内置报表的删除按钮是否可点击
+3 -1
View File
@@ -19,4 +19,6 @@ $chart = new chartTest();
r($chart->processChartTest('decodeLangs')) && p('langs[name]:zh-cn') && e('项目名称'); //测试解密langs字段
r($chart->processChartTest('decodeFilters')) && p('filters[0]:field') && e('closedDate'); //测试解密filters字段
r($chart->processChartTest('decodeSettings')) && p('settings[0]:type') && e('cluBarY'); //测试解密settings字段
r($chart->processChartTest('sqlNull')) && p('sql') && e('N/A'); //测试sql字段为null的情况
r($chart->processChartTest('sqlNull')) && p('sql') && e('~~'); //测试sql字段为null的情况
r($chart->processChartTest('trimSQL')) && p('sql') && e("SELECT id FROM zt_project WHERE type='program' AND parent=0 AND deleted='0'"); //测试sql字段为null的情况