From bb44f0109d73f1274e7d67cff3a522ea720ef1e7 Mon Sep 17 00:00:00 2001 From: wangxuepeng Date: Thu, 7 Dec 2023 15:12:34 +0800 Subject: [PATCH] * Modify unit test for pivotModel::getWorkLoad. --- module/pivot/test/model/getworkload.php | 38 +++++++++++++++++++++---- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/module/pivot/test/model/getworkload.php b/module/pivot/test/model/getworkload.php index ddfa0b7465..e1a85a4c01 100644 --- a/module/pivot/test/model/getworkload.php +++ b/module/pivot/test/model/getworkload.php @@ -17,10 +17,13 @@ title=测试 pivotModel->getWorkload(); cid=1 pid=1 -测试部门id为0,执行状态未分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 >> user1,空,项目集2;user4,空,项目集5 -测试部门id为1,执行状态未分配,工时为7的透视表数据是否正常生成, 此返回值只包含一条数据。 >> user1,空,项目集2 -测试部门id为10000,执行状态未分配,工时为7的透视表数据是否正常生成, 部门id存在但是部门不存在的情况下不会返回数据。 >> 0 -测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 >> 2,0,1,2,28.57;10,1,1,5,71.43 +测试部门id为0,执行状态未分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 >> user1,空,项目集2;user4,空,项目集5 +测试部门id为1,执行状态未分配,工时为7的透视表数据是否正常生成, 此返回值只包含一条数据。 >> user1,空,项目集2 +测试部门id为10000,执行状态未分配,工时为7的透视表数据是否正常生成, 部门id存在但是部门不存在的情况下不会返回数据。 >> 0 +测试用户列表为空的情况,如果列表为空,不论传入什么参数,最终返回的都是空数组。 >> 0 +测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 >> 2,0,1,2,28.57;10,1,1,5,71.43 +测试部门id为0,执行状态已分配,工时为7.5的透视表数据是否正常生成,此返回值包含四条数据,与上面用例的区别在于负载率的不同。 >> 2,0,1,2,26.67;10,1,1,5,66.67 +测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。 >> 2,0,1,2,25;10,1,1,5,62.5 */ @@ -35,8 +38,9 @@ $allHourList = array(7, 7.5, 8); $usersList = array($users, array()); r($pivot->getWorkload($deptList[0], $assignList[0], $usersList[0], $allHourList[0])) && p('0:user,executionName,projectName;3:user,executionName,projectName') && e('user1,空,项目集2;user4,空,项目集5'); //测试部门id为0,执行状态未分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 -r($pivot->getWorkload($deptList[1], $assignList[0], $usersList[0], $allHourList[0])) && p('0:user,executionName,projectName') && e('user1,空,项目集2'); //测试部门id为1,执行状态未分配,工时为7的透视表数据是否正常生成, 此返回值只包含一条数据。 -r($pivot->getWorkload($deptList[2], $assignList[0], $usersList[0], $allHourList[0])) && p('') && e('0'); //测试部门id为10000,执行状态未分配,工时为7的透视表数据是否正常生成, 部门id存在但是部门不存在的情况下不会返回数据。 +r($pivot->getWorkload($deptList[1], $assignList[0], $usersList[0], $allHourList[0])) && p('0:user,executionName,projectName') && e('user1,空,项目集2'); //测试部门id为1,执行状态未分配,工时为7的透视表数据是否正常生成, 此返回值只包含一条数据。 +r($pivot->getWorkload($deptList[2], $assignList[0], $usersList[0], $allHourList[0])) && p('') && e('0'); //测试部门id为10000,执行状态未分配,工时为7的透视表数据是否正常生成, 部门id存在但是部门不存在的情况下不会返回数据。 +r($pivot->getWorkload($deptList[0], $assignList[1], $usersList[1], $allHourList[1])) && p('') && e('0'); //测试用户列表为空的情况,如果列表为空,不论传入什么参数,最终返回的都是空数组。 $result = $pivot->getWorkload($deptList[0], $assignList[1], $usersList[0], $allHourList[0]); foreach($result as $row) @@ -47,3 +51,25 @@ foreach($result as $row) if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1; } r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;3:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("2,0,1,2,28.57;10,1,1,5,71.43"); //测试部门id为0,执行状态已分配,工时为7的透视表数据是否正常生成,此返回值包含四条数据。 + + + +$result = $pivot->getWorkload($deptList[0], $assignList[1], $usersList[0], $allHourList[1]); +foreach($result as $row) +{ + if($row->workload) $row->workload = str_replace('%', '', $row->workload); + $name = $row->executionName; + $row->isExecutionNameHtml = 0; + if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1; +} +r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;3:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("2,0,1,2,26.67;10,1,1,5,66.67"); //测试部门id为0,执行状态已分配,工时为7.5的透视表数据是否正常生成,此返回值包含四条数据,与上面用例的区别在于负载率的不同。 + +$result = $pivot->getWorkload($deptList[0], $assignList[1], $usersList[0], $allHourList[2]); +foreach($result as $row) +{ + if($row->workload) $row->workload = str_replace('%', '', $row->workload); + $name = $row->executionName; + $row->isExecutionNameHtml = 0; + if(strip_tags($name) != $row->executionName) $row->isExecutionNameHtml = 1; +} +r($result) && p('0:id,isExecutionNameHtml,totalTasks,totalHours,workload;3:id,isExecutionNameHtml,totalTasks,totalHours,workload') && e("2,0,1,2,25;10,1,1,5,62.5"); //测试部门id为0,执行状态已分配,工时为8的透视表数据是否正常生成,此返回值包含四条数据,于上边用例的区别在于负载率的不同。