From 3be4902c8fba94698127b369ab64b598267b086a Mon Sep 17 00:00:00 2001 From: tianshujie Date: Mon, 22 Sep 2025 15:17:33 +0800 Subject: [PATCH] * [unittest] fix updatetasksstartandenddate file error. --- .../test/lib/project.unittest.class.php | 34 +++++++++++++++++++ .../test/tao/updatetasksstartandenddate.php | 4 +-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/module/project/test/lib/project.unittest.class.php b/module/project/test/lib/project.unittest.class.php index d029ce8f43..b9badba1e2 100644 --- a/module/project/test/lib/project.unittest.class.php +++ b/module/project/test/lib/project.unittest.class.php @@ -1309,4 +1309,38 @@ class projectTest return true; } + + /** + * 更新任务的起止日期。 + * Update start and end date of tasks. + * + * @param int $projectID + * @access public + * @return void + */ + public function updateTasksStartAndEndDateTest(int $projectID, string $type = 'expand') + { + $oldProject = $this->objectModel->getByID($projectID); + + $project = clone $oldProject; + $project->begin = $type = 'expand' ? '2020-01-01' : '2020-12-01'; + $project->end = $type = 'expand' ? '2022-12-01' : '2021-12-01'; + + $tasks = $this->objectModel->dao->select('id,status,estStarted,deadline')->from(TABLE_TASK) + ->where('deleted')->eq(0) + ->andWhere('project')->eq($projectID) + ->fetchAll(); + + if(!empty($tasks)) $oldTask = current($tasks); + + $this->objectModel->updateTasksStartAndEndDate($tasks, $oldProject, $project); + + $changes = array(); + if(isset($oldTask)) + { + $task = $this->objectModel->dao->select('id,status,estStarted,deadline')->from(TABLE_TASK) ->where('id')->eq($oldTask->id)->fetch(); + $changes = common::createChanges($oldTask, $task); + } + return $changes; + } } diff --git a/module/project/test/tao/updatetasksstartandenddate.php b/module/project/test/tao/updatetasksstartandenddate.php index ce908f0796..e35b42f0a3 100755 --- a/module/project/test/tao/updatetasksstartandenddate.php +++ b/module/project/test/tao/updatetasksstartandenddate.php @@ -36,10 +36,10 @@ cid=1 $projectIdList = array(11, 60 ,100); -$projectTester = new project(); +$projectTester = new projectTest(); r($projectTester->updateTasksStartAndEndDateTest($projectIdList[0], 'expend')) && p('0:field,old,new') && e('estStarted,2020-11-01,2020-01-01'); // 测试更新敏捷项目下的任务起止日期 r($projectTester->updateTasksStartAndEndDateTest($projectIdList[1], 'expend')) && p('0:field,old,new') && e('deadline,2021-01-13,2020-03-13'); // 测试更新瀑布项目下的任务起止日期 r($projectTester->updateTasksStartAndEndDateTest($projectIdList[2], 'expend')) && p() && e('0'); // 测试更新看板项目下的任务起止日期 r($projectTester->updateTasksStartAndEndDateTest($projectIdList[0], 'reduce')) && p('0:field,old,new') && e('estStarted,2020-01-01,2019-03-02'); // 测试更新敏捷项目下的任务起止日期 r($projectTester->updateTasksStartAndEndDateTest($projectIdList[1], 'reduce')) && p('0:field,old,new') && e('deadline,2020-03-13,2019-05-12'); // 测试更新瀑布项目下的任务起止日期 -r($projectTester->updateTasksStartAndEndDateTest($projectIdList[2], 'reduce')) && p() && e('0'); // 测试更新看板项目下的任务起止日期 \ No newline at end of file +r($projectTester->updateTasksStartAndEndDateTest($projectIdList[2], 'reduce')) && p() && e('0'); // 测试更新看板项目下的任务起止日期