From 8d11fd50e4b0155c42b1960498a120f6cbf95ece Mon Sep 17 00:00:00 2001 From: tianshujie Date: Mon, 27 Nov 2023 16:09:49 +0800 Subject: [PATCH] + Add program::getTaskStats unit test. --- module/program/test/program.class.php | 16 +++++++ module/program/test/tao/gettaskstats.php | 24 +++++++++++ module/program/test/yaml/task.yaml | 53 ++++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 module/program/test/tao/gettaskstats.php create mode 100755 module/program/test/yaml/task.yaml diff --git a/module/program/test/program.class.php b/module/program/test/program.class.php index 8c3cb56714..6109c7c0c4 100644 --- a/module/program/test/program.class.php +++ b/module/program/test/program.class.php @@ -532,4 +532,20 @@ class programTest $object = $this->program->getByID($objectID); return $this->program->buildActions($object); } + + /** + * 获取任务的统计数据。 + * Get task stats. + * + * @param array $projectIdList + * @access public + * @return array + */ + public function getTaskStatsTest(array $projectIdList): array + { + $summary = $this->program->getTaskStats($projectIdList); + if(dao::isError()) return dao::getError(); + + return $summary; + } } diff --git a/module/program/test/tao/gettaskstats.php b/module/program/test/tao/gettaskstats.php new file mode 100644 index 0000000000..782d0c925e --- /dev/null +++ b/module/program/test/tao/gettaskstats.php @@ -0,0 +1,24 @@ +#!/usr/bin/env php +config('program')->gen(20); +zdTable('task')->config('task')->gen(20); +zdTable('user')->gen(5); +su('admin'); + +$projectIdList[] = array(); +$projectIdList[] = array(60); + +$programTester = new programTest(); +r($programTester->getTaskStatsTest($projectIdList[0])) && p('11:totalEstimate,totalConsumed,totalLeft,teamCount,totalLeftNotDel,totalConsumedNotDel') && e('46,13,39,0,39,13'); // 获取系统中所有项目的任务统计信息 +r($programTester->getTaskStatsTest($projectIdList[1])) && p('60:totalEstimate,totalConsumed,totalLeft,teamCount,totalLeftNotDel,totalConsumedNotDel') && e('18,7,15,0,15,7'); // 获取系统中项目ID=60的任务统计信息 diff --git a/module/program/test/yaml/task.yaml b/module/program/test/yaml/task.yaml new file mode 100755 index 0000000000..345c130ff3 --- /dev/null +++ b/module/program/test/yaml/task.yaml @@ -0,0 +1,53 @@ +title: zt_task +author: Mengyi Liu +version: "1.0" +fields: + - field: id + range: 1-100 + - field: project + range: 11{9},60{9} + - field: execution + range: 101{9},106{9} + - field: module + range: 0{3},1{3},2{3},3{3} + - field: story + range: 1,0{9} + - field: consumed + range: 0,2{4},0{3},3 + - field: parent + range: "0{5},`-1`,6,0{2}" + - field: status + range: "wait,doing,done,cancel,closed,wait{3},doing" + - field: mode + range: "[]{7},linear,multi" + - field: deleted + range: 0{9},1{3} + - field: assignedTo + range: "[],admin{2},[]{3}" + - field: mailto + fields: + - field: mailto1 + range: "[]{3},admin,[]{2}" + postfix: "," + - field: mailto2 + range: "[]{2},user1{3}" + - field: estStarted + range: "20201101 000000:1D" + format: "YY-MM-DD" + type: timestamp + format: "YYYY-MM-DD" + postfix: "\t" + - field: deadline + range: "20210101 000000:1D" + type: timestamp + format: "YY-MM-DD" + postfix: "\t" + - field: finishedBy + range: "[]{4},admin,[]{4}" + - field: finishedDate + range: "20210101 000000:1D" + type: timestamp + format: "YYYY-MM-DD" + postfix: "\t" + - field: closedReason + range: "[]{4},done,[]{4}"