From 5a266081970ae0110ae97074d6f8ca5b16beba55 Mon Sep 17 00:00:00 2001 From: liumengyi Date: Fri, 11 Mar 2022 14:00:07 +0800 Subject: [PATCH] * Add auto test for processTask and processTasks. --- test/class/task.class.php | 28 +++++++ test/model/task/getById.php | 1 - test/model/task/getByList.php | 1 - test/model/task/getEstimateById.php | 1 - test/model/task/getExecutionTaskPairs.php | 1 - test/model/task/getExecutionTasks.php | 1 - test/model/task/getProjectID.php | 1 - test/model/task/getStoryComments.php | 1 - test/model/task/getStoryTaskCounts.php | 1 - test/model/task/getStoryTasks.php | 1 - test/model/task/getTaskEstimate.php | 1 - test/model/task/getTasksByModule.php | 1 - test/model/task/getUserSuspendedTasks.php | 1 - test/model/task/getUserTaskPairs.php | 1 - test/model/task/getUserTasks.php | 1 - test/model/task/processtask.php | 98 +++++++++++++++++++++++ test/model/task/processtasks.php | 82 +++++++++++++++++++ 17 files changed, 208 insertions(+), 14 deletions(-) create mode 100755 test/model/task/processtask.php create mode 100755 test/model/task/processtasks.php diff --git a/test/class/task.class.php b/test/class/task.class.php index 099a88ae07..0587227940 100644 --- a/test/class/task.class.php +++ b/test/class/task.class.php @@ -637,4 +637,32 @@ class taskTest return $objectList; } } + + public function processTaskTest($task) + { + $object = $this->objectModel->processTask($task); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } + + public function processTasksTest($tasks) + { + $object = $this->objectModel->processTasks($tasks); + + if(dao::isError()) + { + return dao::getError(); + } + else + { + return $object; + } + } } diff --git a/test/model/task/getById.php b/test/model/task/getById.php index 69ba991604..844d46ecfc 100755 --- a/test/model/task/getById.php +++ b/test/model/task/getById.php @@ -18,4 +18,3 @@ $taskID = '50'; $task = new taskTest(); r($task->getByIdTest($taskID)) && p('name') && e('开发任务60'); //根据taskID查找任务详情 -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getByList.php b/test/model/task/getByList.php index de3898e55b..760b9c9f7e 100755 --- a/test/model/task/getByList.php +++ b/test/model/task/getByList.php @@ -18,4 +18,3 @@ $taskID = '51'; $task = new taskTest(); r($task->getByListTest($taskID)) && p('51:name') && e('开发任务61'); //根据taskID查找任务详情 -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getEstimateById.php b/test/model/task/getEstimateById.php index 995210d130..4bb147f53f 100755 --- a/test/model/task/getEstimateById.php +++ b/test/model/task/getEstimateById.php @@ -18,4 +18,3 @@ $estimateID = '1'; $task = new taskTest(); r($task->getEstimateByIdTest($estimateID)) && p('work') && e('这里是工作内容1'); // 根据estimateID查看预计工时 -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getExecutionTaskPairs.php b/test/model/task/getExecutionTaskPairs.php index cb4024d0bc..f5f4e27aae 100755 --- a/test/model/task/getExecutionTaskPairs.php +++ b/test/model/task/getExecutionTaskPairs.php @@ -18,4 +18,3 @@ $executionID = '102'; $task = new taskTest(); r($task->getExecutionTaskPairsTest($executionID)) && p('2') && e('2::开发任务12'); //根据执行id查出任务id与name -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getExecutionTasks.php b/test/model/task/getExecutionTasks.php index ce7dd5ffaf..b18fcf192b 100755 --- a/test/model/task/getExecutionTasks.php +++ b/test/model/task/getExecutionTasks.php @@ -21,4 +21,3 @@ $count = array('0','1'); $task = new taskTest(); r($task->getExecutionTasksTest($executionID,$count[0])) && p('1:name') && e('开发任务11'); //根据执行id获取任务列表 r($task->getExecutionTasksTest($executionID,$count[1])) && p() && e('4'); //根据执行id获取任务数量 -system("./ztest init"); diff --git a/test/model/task/getProjectID.php b/test/model/task/getProjectID.php index 4607b33c9f..22c40dcad3 100755 --- a/test/model/task/getProjectID.php +++ b/test/model/task/getProjectID.php @@ -18,4 +18,3 @@ $executionID = '101'; $task = new taskTest(); r($task->getProjectIDTest($executionID)) && p('project') && e('11'); //根据executionID查找projectID -system("./ztest init"); diff --git a/test/model/task/getStoryComments.php b/test/model/task/getStoryComments.php index 97780986c5..71dc32205c 100755 --- a/test/model/task/getStoryComments.php +++ b/test/model/task/getStoryComments.php @@ -20,4 +20,3 @@ $storyIDList = array(2, 1000001); $task = new taskTest(); r($task->getStoryCommentsTest($storyIDList[0])) && p('0:comment') && e('这是一个系统日志测试备注2'); //根据storyID查找comment r($task->getStoryCommentsTest($storyIDList[1])) && p('0:comment') && e('0'); //根据不存在的storyID查找comment -system("./ztest init"); diff --git a/test/model/task/getStoryTaskCounts.php b/test/model/task/getStoryTaskCounts.php index 53d0bd8009..c4bd5d14c3 100755 --- a/test/model/task/getStoryTaskCounts.php +++ b/test/model/task/getStoryTaskCounts.php @@ -22,4 +22,3 @@ $task = new taskTest(); r($task->getStoryTaskCountsTest($storyIDList)) && p('1') && e('6'); // 根据需求1查看任务数量 r($task->getStoryTaskCountsTest($storyIDList)) && p('5') && e('6'); // 根据需求5查看任务数量 r($task->getStoryTaskCountsTest($storyIDList)) && p('9') && e('6'); // 根据需求9查看任务数量 -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getStoryTasks.php b/test/model/task/getStoryTasks.php index 57eff3d6c1..1b707d409e 100755 --- a/test/model/task/getStoryTasks.php +++ b/test/model/task/getStoryTasks.php @@ -21,4 +21,3 @@ $count = array('0','1'); $task = new taskTest(); r($task->getStoryTasksTest($storyID,$count[0])) && p('1:name') && e('开发任务11'); // 根据需求查看任务 r($task->getStoryTasksTest($storyID,$count[1])) && p() && e('6'); // 根据需求查看任务数量统计 -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getTaskEstimate.php b/test/model/task/getTaskEstimate.php index 554d018d2f..49cbc35874 100755 --- a/test/model/task/getTaskEstimate.php +++ b/test/model/task/getTaskEstimate.php @@ -20,4 +20,3 @@ $waitstart = array('assignedTo' => 'user92','consumed' => '10'); $task = new taskTest(); $task->startTest($taskID,$waitstart); r($task->getTaskEstimateTest($taskID)) && p('0:task') && e('55'); // 查看任务预计 -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getTasksByModule.php b/test/model/task/getTasksByModule.php index 1ed54d1fa9..8b30b27a6b 100755 --- a/test/model/task/getTasksByModule.php +++ b/test/model/task/getTasksByModule.php @@ -23,4 +23,3 @@ $count = array('0','1'); $task = new taskTest(); r($task->getTasksByModuleTest($executionID,$moduleIdList,$count[0])) && p('0:name') && e('子任务10'); //根据模块获取任务列表 r($task->getTasksByModuleTest($executionID,$moduleIdList,$count[1])) && p() && e('1'); //根据模块获取任务数量 -system("./ztest init"); diff --git a/test/model/task/getUserSuspendedTasks.php b/test/model/task/getUserSuspendedTasks.php index 23ead1e39f..9b45989f6b 100755 --- a/test/model/task/getUserSuspendedTasks.php +++ b/test/model/task/getUserSuspendedTasks.php @@ -20,4 +20,3 @@ $assignedTo = 'test14'; $task = new taskTest(); //var_dump($task->getUserSuspendedTasksTest($taskID,$assignedTo));die; r($task->getUserSuspendedTasksTest($taskID,$assignedTo)) && p(''.$taskID.':name') && e('开发任务33'); // 根据指派人员查看执行和任务对应关系 -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getUserTaskPairs.php b/test/model/task/getUserTaskPairs.php index d18320b50a..44f3113b0d 100755 --- a/test/model/task/getUserTaskPairs.php +++ b/test/model/task/getUserTaskPairs.php @@ -19,4 +19,3 @@ $assignedTo = 'user95'; $task = new taskTest(); r($task->getUserTaskPairsTest($taskID,$assignedTo)) && p('3') && e('迭代3 / 开发任务13'); // 根据指派人员查看执行和任务对应关系 -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getUserTasks.php b/test/model/task/getUserTasks.php index dc8888a05b..8032fb1e27 100755 --- a/test/model/task/getUserTasks.php +++ b/test/model/task/getUserTasks.php @@ -19,4 +19,3 @@ $assignedTo = 'user92'; $task = new taskTest(); r($task->getUserTasksTest($taskID,$assignedTo)) && p('2:name') && e('开发任务12'); // 根据指派人员查看任务 -system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/processtask.php b/test/model/task/processtask.php new file mode 100755 index 0000000000..6d93e472e6 --- /dev/null +++ b/test/model/task/processtask.php @@ -0,0 +1,98 @@ +#!/usr/bin/env php +processTask(); +cid=1 +pid=1 + +根据taskID计算wait 未延迟的任务进度 >> ,,normal,75 +根据taskID计算wait 延迟的任务进度 >> 1,,normal,75 +根据taskID计算doing 延迟的任务进度 >> 1,,normal,80 +根据taskID计算doing 未延迟的任务进度 >> ,,normal,80 +根据taskID计算done 延迟的任务进度 >> ,,normal,100 +根据taskID计算算done 未延迟的任务进度 >> ,,normal,100 + +*/ + +$now = helper::now(); + +$task1 = new stdclass(); +$task1->status = 'wait'; +$task1->deadline = date("Y-m-d",strtotime("+1 day")); +$task1->storyStatus = 'draft'; +$task1->latestStoryVersion = '1'; +$task1->storyVersion = '1'; +$task1->product = '1'; +$task1->assignedTo = 'po82'; +$task1->consumed = '3'; +$task1->left = '1'; + +$task2 = new stdclass(); +$task2->status = 'doing'; +$task2->deadline = date("Y-m-d",strtotime("-1 day")); +$task2->storyStatus = 'draft'; +$task2->latestStoryVersion = '1'; +$task2->storyVersion = '1'; +$task2->product = '9'; +$task2->assignedTo = ''; +$task2->consumed = '3'; +$task2->left = '1'; + +$task3 = new stdclass(); +$task3->status = 'doing'; +$task3->deadline = date("Y-m-d",strtotime("-1 day")); +$task3->storyStatus = 'draft'; +$task3->latestStoryVersion = '1'; +$task3->storyVersion = '1'; +$task3->product = '2'; +$task3->assignedTo = ''; +$task3->consumed = '4'; +$task3->left = '1'; + +$task4 = new stdclass(); +$task4->status = 'doing'; +$task4->deadline = date("Y-m-d",strtotime("+1 day")); +$task4->storyStatus = 'draft'; +$task4->latestStoryVersion = '1'; +$task4->storyVersion = '1'; +$task4->product = '2'; +$task4->assignedTo = ''; +$task4->consumed = '4'; +$task4->left = '1'; + +$task5 = new stdclass(); +$task5->status = 'done'; +$task5->deadline = date("Y-m-d",strtotime("-1 day")); +$task5->deadline = '2022-03-10'; +$task5->storyStatus = 'draft'; +$task5->latestStoryVersion = '1'; +$task5->storyVersion = '1'; +$task5->product = '9'; +$task5->assignedTo = ''; +$task5->consumed = '11'; +$task5->left = '0'; + +$task6 = new stdclass(); +$task6->status = 'done'; +$task6->deadline = date("Y-m-d",strtotime("+1 day")); +$task6->storyStatus = 'draft'; +$task6->latestStoryVersion = '1'; +$task6->storyVersion = '1'; +$task6->product = '9'; +$task6->assignedTo = ''; +$task6->consumed = '11'; +$task6->left = '0'; + +$task = new taskTest(); +r($task->processTaskTest($task1)) && p('delay,needConfirm,productType,progress') && e(',,normal,75'); //根据taskID计算wait 未延迟的任务进度 +r($task->processTaskTest($task2)) && p('delay,needConfirm,productType,progress') && e('1,,normal,75'); //根据taskID计算wait 延迟的任务进度 +r($task->processTaskTest($task3)) && p('delay,needConfirm,productType,progress') && e('1,,normal,80'); //根据taskID计算doing 延迟的任务进度 +r($task->processTaskTest($task4)) && p('delay,needConfirm,productType,progress') && e(',,normal,80'); //根据taskID计算doing 未延迟的任务进度 +r($task->processTaskTest($task5)) && p('delay,needConfirm,productType,progress') && e(',,normal,100'); //根据taskID计算done 延迟的任务进度 +r($task->processTaskTest($task6)) && p('delay,needConfirm,productType,progress') && e(',,normal,100'); //根据taskID计算算done 未延迟的任务进度 + diff --git a/test/model/task/processtasks.php b/test/model/task/processtasks.php new file mode 100755 index 0000000000..242d752f12 --- /dev/null +++ b/test/model/task/processtasks.php @@ -0,0 +1,82 @@ +#!/usr/bin/env php +processTasks(); +cid=1 +pid=1 + +根据tasks计算executionID为1的执行下所有任务的进度 任务1 >> ,100 +根据tasks计算executionID为1的执行下所有任务的进度 任务601 >> ,100 +根据tasks计算executionID为1的执行下所有任务的进度 任务602 >> ,80 +根据tasks计算executionID为1的执行下所有任务的进度 任务602 >> ,71 +根据tasks计算executionID为2的执行下所有任务的进度 任务2 >> ,80 +根据tasks计算executionID为2的执行下所有任务的进度 任务602 >> 10,67 +根据tasks计算executionID为2的执行下所有任务的进度 任务602 >> ,64 +根据tasks计算executionID为2的执行下所有任务的进度 任务602 >> ,62 + +*/ + +$now = helper::now(); + +$tasks1 = $dao->select('*')->from(TABLE_TASK)->where('execution')->eq('101')->andWhere('deleted')->eq(0)->fetchAll('id'); +$parents = array(); +foreach($tasks1 as $task) +{ + if($task->parent > 0) $parents[$task->parent] = $task->parent; +} +$parents = $dao->select('*')->from(TABLE_TASK)->where('id')->in($parents)->fetchAll('id'); +foreach($tasks1 as $task) +{ + if($task->parent > 0) + { + if(isset($tasks[$task->parent])) + { + $tasks[$task->parent]->children[$task->id] = $task; + unset($tasks[$task->id]); + } + else + { + $parent = $parents[$task->parent]; + $task->parentName = $parent->name; + } + } +} + +$tasks2 = $dao->select('*')->from(TABLE_TASK)->where('execution')->eq('102')->andWhere('deleted')->eq(0)->fetchAll('id'); +$parents = array(); +foreach($tasks2 as $task) +{ + if($task->parent > 0) $parents[$task->parent] = $task->parent; +} +$parents = $dao->select('*')->from(TABLE_TASK)->where('id')->in($parents)->fetchAll('id'); +foreach($tasks2 as $task) +{ + if($task->parent > 0) + { + if(isset($tasks[$task->parent])) + { + $tasks[$task->parent]->children[$task->id] = $task; + unset($tasks[$task->id]); + } + else + { + $parent = $parents[$task->parent]; + $task->parentName = $parent->name; + } + } +} + +$task = new taskTest(); +r($task->processTasksTest($tasks1)) && p('1:delay,progress') && e(',100'); //根据tasks计算executionID为1的执行下所有任务的进度 任务1 +r($task->processTasksTest($tasks1)) && p('601:delay,progress') && e(',100'); //根据tasks计算executionID为1的执行下所有任务的进度 任务601 +r($task->processTasksTest($tasks1)) && p('602:delay,progress') && e(',80'); //根据tasks计算executionID为1的执行下所有任务的进度 任务602 +r($task->processTasksTest($tasks1)) && p('603:delay,progress') && e(',71'); //根据tasks计算executionID为1的执行下所有任务的进度 任务603 +r($task->processTasksTest($tasks2)) && p('2:delay,progress') && e(',80'); //根据tasks计算executionID为2的执行下所有任务的进度 任务2 +r($task->processTasksTest($tasks2)) && p('604:delay,progress') && e('10,67'); //根据tasks计算executionID为2的执行下所有任务的进度 任务604 +r($task->processTasksTest($tasks2)) && p('605:delay,progress') && e(',64'); //根据tasks计算executionID为2的执行下所有任务的进度 任务605 +r($task->processTasksTest($tasks2)) && p('606:delay,progress') && e(',62'); //根据tasks计算executionID为2的执行下所有任务的进度 任务606