From 4737118057c8e8948e9c6d6277f7460065703a2f Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Thu, 12 Jan 2023 14:28:06 +0800 Subject: [PATCH] * Add test case. --- test/class/execution.class.php | 34 +++++++++++++ test/model/execution/buildsearchform.php | 2 + test/model/execution/printnestedlist.php | 56 ++++++++++++++++++++ test/model/execution/printtree.php | 65 ++++++++++++++++++++++++ 4 files changed, 157 insertions(+) create mode 100644 test/model/execution/printnestedlist.php create mode 100644 test/model/execution/printtree.php diff --git a/test/class/execution.class.php b/test/class/execution.class.php index adf685bd91..2c05e690bf 100644 --- a/test/class/execution.class.php +++ b/test/class/execution.class.php @@ -2591,4 +2591,38 @@ class executionTest return $this->objectModel->buildOperateMenu($execution); } + + /** + * Test print nested list. + * + * @param int $projectID + * @access public + * @return string + */ + public function printNestedListTest($projectID = 0) + { + $executions = $this->objectModel->getStatData($projectID); + + global $app; + $app->moduleName = 'execution'; + ob_start(); + $this->objectModel->printNestedList($executions[0], false, array(), 1); + $result = ob_get_clean(); + return mb_substr(strip_tags($result), 0, 2); + } + + /** + * Test print nested list. + * + * @param int $executionID + * @access public + * @return string + */ + public function printTreeTest($executionID) + { + global $app; + $app->moduleName = 'task'; + $trees = $this->objectModel->getTree($executionID); + return str_replace(' ', '', strip_tags($this->objectModel->printTree($trees, false))); + } } diff --git a/test/model/execution/buildsearchform.php b/test/model/execution/buildsearchform.php index aad8f9405e..bb27aa90b8 100644 --- a/test/model/execution/buildsearchform.php +++ b/test/model/execution/buildsearchform.php @@ -25,6 +25,8 @@ $query->form->range('`a:44:{s:9:"fieldname";s:0:"";s:7:"fieldid";s:0:"";s:11:"fi $query->sql->range("`(( 1 AND `name` LIKE '%迭代%' ) AND ( 1 ))`"); $query->gen(1); +su('admin'); + /** title=测试executionModel->buildSearchFrom(); diff --git a/test/model/execution/printnestedlist.php b/test/model/execution/printnestedlist.php new file mode 100644 index 0000000000..f54d3264e8 --- /dev/null +++ b/test/model/execution/printnestedlist.php @@ -0,0 +1,56 @@ +#!/usr/bin/env php +gen(5); +su('admin'); + +$execution = zdTable('project'); +$execution->id->range('1-6'); +$execution->name->range('项目集1,项目1,项目2,迭代1,阶段1,看板1'); +$execution->type->range('program,project{2},sprint,stage,kanban'); +$execution->code->range('1-6')->prefix('code'); +$execution->parent->range('0,1{2},2{2},3'); +$execution->project->range('0,1{2},2{2},3'); +$execution->status->range('wait{3},suspended,closed,doing'); +$execution->openedBy->range('admin,user1'); +$execution->hasProduct->range('0'); +$execution->begin->range('20220110 000000:0')->type('timestamp')->format('YY/MM/DD'); +$execution->end->range('20220220 000000:0')->type('timestamp')->format('YY/MM/DD'); +$execution->gen(6); + +$burn = zdTable('burn'); +$burn->execution->range('3{5},4{5},5{5}'); +$burn->date->range('20220111 000000:1D')->type('timestamp')->format('YY/MM/DD'); +$burn->estimate->range('94.3,56.3,55.3,37.8,33.8'); +$burn->left->range('95.3,68.5,73.9,40.2,36,3'); +$burn->consumed->range('20.1,33.4,41,56.55,59.55'); +$burn->storyPoint->range('0,16.5,16,11.5,9'); +$burn->gen(15); + +$product = zdTable('product'); +$product->id->range('1-3'); +$product->name->range('1-3')->prefix('产品'); +$product->code->range('1-3')->prefix('product'); +$product->type->range('normal'); +$product->status->range('normal'); +$product->gen(3); + +zdTable('projectproduct')->gen(0); + +/** + +title=测试executionModel->printNestedList(); +cid=1 +pid=1 + +查询所有项目下第一个执行 >> 迭代 +查询项目2下第一个执行 >> 看板 + +*/ + +$projectIDList = array(0, 3); + +$execution = new executionTest(); +r($execution->printNestedListTest($projectIDList[0])) && p() && e('迭代'); // 查询所有项目下第一个执行 +r($execution->printNestedListTest($projectIDList[1])) && p() && e('看板'); // 查询项目2下第一个执行 diff --git a/test/model/execution/printtree.php b/test/model/execution/printtree.php new file mode 100644 index 0000000000..6604277779 --- /dev/null +++ b/test/model/execution/printtree.php @@ -0,0 +1,65 @@ +#!/usr/bin/env php +gen(5); +su('admin'); + +$execution = zdTable('project'); +$execution->id->range('1-6'); +$execution->name->range('项目集1,项目1,项目2,迭代1,阶段1,看板1'); +$execution->type->range('program,project{2},sprint,stage,kanban'); +$execution->code->range('1-6')->prefix('code'); +$execution->parent->range('0,1{2},2{2},3'); +$execution->project->range('0,1{2},2{2},3'); +$execution->status->range('wait{3},suspended,closed,doing'); +$execution->openedBy->range('admin,user1'); +$execution->hasProduct->range('0'); +$execution->begin->range('20220110 000000:0')->type('timestamp')->format('YY/MM/DD'); +$execution->end->range('20220220 000000:0')->type('timestamp')->format('YY/MM/DD'); +$execution->gen(6); + +$burn = zdTable('burn'); +$burn->execution->range('3{5},4{5},5{5}'); +$burn->date->range('20220111 000000:1D')->type('timestamp')->format('YY/MM/DD'); +$burn->estimate->range('94.3,56.3,55.3,37.8,33.8'); +$burn->left->range('95.3,68.5,73.9,40.2,36,3'); +$burn->consumed->range('20.1,33.4,41,56.55,59.55'); +$burn->storyPoint->range('0,16.5,16,11.5,9'); +$burn->gen(15); + +$product = zdTable('product'); +$product->id->range('1-3'); +$product->name->range('1-3')->prefix('产品'); +$product->code->range('1-3')->prefix('product'); +$product->type->range('normal'); +$product->status->range('normal'); +$product->gen(3); + +$task = zdTable('task'); +$task->id->range('1-10'); +$task->execution->range('4'); +$task->status->range('wait,doing'); +$task->estimate->range('1-10'); +$task->left->range('1-10'); +$task->consumed->range('1-10'); +$task->gen(10); + +zdTable('projectproduct')->gen(0); + +/** + +title=测试executionModel->printTree(); +cid=1 +pid=1 + +查询不存在的执行 >> 0 +查询存在的执行 >> /任务10任务9任务8任务7任务6任务5任务4任务3任务2任务1 + +*/ + +$executionIDList = array(0, 4); + +$execution = new executionTest(); +r($execution->printTreeTest($executionIDList[0])) && p() && e('0'); // 查询不存在的执行 +r($execution->printTreeTest($executionIDList[1])) && p() && e('/任务10任务9任务8任务7任务6任务5任务4任务3任务2任务1'); // 查询存在的执行