diff --git a/test/class/program.class.php b/test/class/program.class.php index 83f491a8c3..79380e1b3d 100644 --- a/test/class/program.class.php +++ b/test/class/program.class.php @@ -15,6 +15,62 @@ class programTest $this->program = $tester->loadModel('program'); } + /** + * Get pairs. + * + * @param bool $isQueryAll + * @param string $orderBy + * @access public + * @return array + */ + public function getPairsTest($isQueryAll = false, $orderBy = 'id_desc') + { + return $this->program->getPairs($isQueryAll, $orderBy); + } + + /** + * Get pairs by id list. + * + * @param string $programIDList + * @access public + * @return array + */ + public function getPairsByListTest($programIDList = '') + { + return $this->program->getPairsByList($programIDList); + } + + /** + * Get parent pairs. + * + * @param string $model + * @param string $mode + * @param bool $showRoot + * @access public + * @return array + */ + public function getParentPairsTest($model = '', $mode = 'noclosed', $showRoot = true) + { + return $this->program->getParentPairs($model, $mode, $showRoot); + } + + /** + * Get the product associated with the program. + * + * @param int $programID + * @param string $mode + * @param string $status + * @param string|array $append + * @param int|string $shadow + * @param bool $withProgram + * @access public + * @return array + */ + public function getProductPairsTest($programID = 0, $mode = 'assign', $status = 'all', $append = '', $shadow = 0, $withProgram = false) + { + return $this->program->getProductPairs($programID, $mode, $status, $append, $shadow, $withProgram); + } + /** * Test create program. * @@ -22,7 +78,7 @@ class programTest * @access public * @return object */ - public function create($data) + public function createTest($data) { $_POST = $data; @@ -30,21 +86,34 @@ class programTest if(dao::isError()) return array('message' => dao::getError()); - $program = $this->program->getById($programID); + $program = $this->program->getByID($programID); return $program; } /** - * createStakeholder + * Get parent PM. * - * @param int mixed $programID + * @param array $programIdList + * @access public + * @return array + */ + public function getParentPMTest($programIdList) + { + return $this->program->getParentPM($programIdList); + } + + /** + * Create stakeholder. + * + * @param int $programID + * @param array $accounts * @access public * @return void */ - public function createStakeholder($programID) + public function createStakeholderTest($programID, $accounts = array()) { - $_POST['accounts'] = array('dev1', 'dev2'); + $_POST['accounts'] = $accounts; $stakeHolder = $this->program->createStakeholder($programID); return $this->program->getStakeholdersByPrograms($programID); @@ -60,7 +129,7 @@ class programTest { $programID = $this->program->createDefaultProgram(); - return $programID; + return $programID > 0; } /** @@ -74,7 +143,7 @@ class programTest * @access public * @return void */ - public function getList($status = 'all', $orderBy = 'id_asc', $pager = NULL, $type = '', $idList = '') + public function getListTest($status = 'all', $orderBy = 'id_asc', $pager = NULL, $type = '', $idList = '') { $this->program->cookie->showClosed = 'ture'; $programs = $this->program->getList($status, $orderBy, $pager, $type, $idList); @@ -86,14 +155,14 @@ class programTest /** - * update + * Test update program. * * @param mixed $proguamID * @param mixed $data * @access public * @return void */ - public function update($programID, $data) + public function updateTest($programID, $data) { $_POST = $data; $this->program->update($programID); @@ -116,4 +185,180 @@ class programTest return $program; } + + /** + * Get budget left. + * + * @param int $programID + * @access public + * @return int + */ + public function getBudgetLeftTest($programID) + { + $program = $this->program->getByID($programID); + $budget = $this->program->getBudgetLeft($program); + + if(dao::isError()) return array('message' => dao::getError()); + + return $budget; + } + + /** + * Set tree path. + * + * @param int $programID + * @access public + * @return void + */ + public function setTreePathTest($programID) + { + $this->program->setTreePath($programID); + $program = $this->program->getByID($programID); + + return $program; + } + + /** + * Get children. + * + * @param int $programID + * @access public + * @return int + */ + public function getChildrenTest($programID) + { + return $this->program->getChildren($programID); + } + + /** + * Check clickable. + * + * @param int $programID + * @param string $status + * @access public + * @return int + */ + public function isClickableTest($programID, $status) + { + return $this->program->isClickable($programID, $status); + } + + /** + * Has unfinished. + * + * @param int $programID + * @access public + * @return int + */ + public function hasUnfinishedTest($programID) + { + $program = $this->program->getByID($programID); + return $this->program->hasUnfinished($program); + } + + /* + * get involved programs. + * + * @param string $account + * @access public + * @return array + */ + public function getInvolvedProgramsTest($account) + { + return $this->program->getInvolvedPrograms($account); + } + + /* + * Get Tree menu. + * + * @param string $programID + * @access public + * @return array + */ + public function getTreeMenuTest($programID) + { + return $this->program->getTreeMenu($programID); + } + + /** + * Get top pairs. + * + * @param string $model + * @param string $mode + * @param bool $isQueryAll + * @access public + * @return array + */ + public function getTopPairsTest($model = '', $mode = '', $isQueryAll = false) + { + return $this->program->getTopPairs($model, $mode, $isQueryAll); + } + + /** + * Get kanban group. + * + * @access public + * @return array + */ + public function getKanbanGroupTest() + { + return $this->program->getKanbanGroup(); + } + + /** + * Get team member pairs . + * + * @param int $programID + * @access public + * @return array + */ + public function getTeamMemberPairsTest($programID) + { + return $this->program->getTeamMemberPairs($programID); + } + + /** + * Get project stats. + * + * @param int $programID + * @param string $browseType + * @param int $queryID + * @param string $orderBy + * @param object $pager + * @access public + * @return array + */ + public function getProjectStatsTest($programID = 0, $browseType = 'undone', $queryID = 0, $orderBy = 'id_desc', $pager = null) + { + return $this->program->getProjectStats($programID, $browseType, $queryID, $orderBy, $pager); + } + + /** + * Get project list. + * + * @param int $programID + * @param string $browseType + * @param int $queryID + * @param string $orderBy + * @param int $pager + * @param int $programTitle + * @param int $involved + * @access public + * @return array + */ + public function getProjectListTest($programID = 0, $browseType = 'all', $queryID = 0, $orderBy = 'id_desc', $pager = null, $programTitle = 0, $involved = 0) + { + return $this->program->getProjectList($programID, $browseType, $queryID, $orderBy, $pager, $programTitle, $involved); + } + + /** + * Get progress list. + * + * @access public + * @return array + */ + public function getProgressListTest() + { + return $this->program->getProgressList(); + } } diff --git a/test/data/zt_config.sql b/test/data/zt_config.sql index beb061fb3b..b056269b83 100644 --- a/test/data/zt_config.sql +++ b/test/data/zt_config.sql @@ -4,7 +4,7 @@ INSERT INTO `zt_config` (`id`, `vision`, `owner`, `module`, `section`, `key`, `v (2, 'rnd', 'system', 'common', '', 'CRProduct', '1'), (3, 'rnd', 'system', 'common', '', 'CRExecution', '1'), (4, 'rnd', 'system', 'custom', '', 'URSR', '2'), -(9, 'rnd', 'system', 'common', 'global', 'mode', 'new'), +(9, 'rnd', 'system', 'common', 'global', 'mode', 'ALM'), (6, 'rnd', 'system', 'project', '', 'unitList', 'CNY,USD'), (7, 'rnd', 'system', 'project', '', 'defaultCurrency', 'CNY'), (8, 'rnd', 'system', 'story', '', 'reviewRules', 'allpass'), diff --git a/test/lib/init.php b/test/lib/init.php index 9fed533cd7..e670afa9cb 100644 --- a/test/lib/init.php +++ b/test/lib/init.php @@ -259,7 +259,7 @@ function zdImport($table, $yaml, $count = 10) function su($account) { $userModel = new userModel(); - $user = $userModel->identify($account, '123qwe!@#'); + $user = $userModel->identify($account, '123Qwe!@#'); if($user) return $userModel->login($user); return false; } diff --git a/test/lib/yaml.class.php b/test/lib/yaml.class.php index 2ce3f4ad97..a43dc5e9af 100644 --- a/test/lib/yaml.class.php +++ b/test/lib/yaml.class.php @@ -257,7 +257,7 @@ class yaml * @access public * @return void */ - public function gen($rows, $version = '') + public function gen($rows, $version = '1.0') { $runFileDir = dirname(getcwd() . DS . $_SERVER['SCRIPT_FILENAME']); $runFileName = str_replace(strrchr($_SERVER['SCRIPT_FILENAME'], "."), "", $_SERVER['SCRIPT_FILENAME']); @@ -268,9 +268,9 @@ class yaml $yamlDataArr = array(); - $yamlDataArr['title'] = "zt_{$this->tableName}"; - $yamlDataArr['author'] = "auto_{$runFileName}"; - $version ? $yamlDataArr['version'] = $version : $yamlDataArr['version'] = '1.0'; + $yamlDataArr['title'] = "zt_{$this->tableName}"; + $yamlDataArr['author'] = "auto_{$runFileName}"; + $yamlDataArr['version'] = $version; if(empty($this->fields->fieldArr)) { diff --git a/test/model/program/create.php b/test/model/program/create.php index de144c8745..a2d6fb0b5c 100755 --- a/test/model/program/create.php +++ b/test/model/program/create.php @@ -2,30 +2,37 @@ switchDB(); su('admin'); +$program = zdTable('project'); +$program->id->range('1'); +$program->name->range('父项目集1'); +$program->type->range('program'); +$program->path->range('1')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(1); + /** title=测试 programModel::create(); cid=1 pid=1 -创建新项目集 >> 测试新增项目集一 -项目集名称为空时 >> 『项目集名称』不能为空。 -项目集的开始时间为空 >> 『计划开始』不能为空。 -项目集的完成时间为空 >> 『计划完成』不能为空。 -项目集的计划完成时间大于计划开始时间 >> 『计划完成』应当大于『2022-01-12』。 -项目集的完成日期大于父项目集的完成日期(需要实时更新日期) >> 父项目集的开始日期:2022-01-16,开始日期不能小于父项目集的开始日期 +创建新项目集 >> 测试新增项目集一 +项目集名称为空时 >> 『项目集名称』不能为空。 +项目集的开始时间为空 >> 『计划开始』不能为空。 +项目集的完成时间为空 >> 『计划完成』不能为空。 +『计划完成』应当大于『2022-01-12』。 >> 『计划完成』应当大于『2022-01-12』。 */ -$program = new programTest(); +$programTester = new programTest(); $data = array( 'parent' => 0, 'name' => '测试新增项目集一', - 'budget' => '', + 'budget' => '', 'budgetUnit' => 'CNY', 'begin' => '2022-01-12', 'end' => '2022-02-12', @@ -48,15 +55,8 @@ $emptyEndProgram['end'] = ''; $beginGtEndProgram = $data; $beginGtEndProgram['end'] = '2022-01-10'; -$moreThanParent = $data; -$moreThanParent['parent'] = '1'; -$moreThanParent['begin'] = '2018-01-01'; -$moreThanParent['end'] = '2022-02-10'; - -r($program->create($normalProgram)) && p('name') && e('测试新增项目集一'); // 创建新项目集 -r($program->create($emptyNameProgram)) && p('message[name]:0') && e('『项目集名称』不能为空。'); // 项目集名称为空时 -r($program->create($emptyBeginProgram)) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 项目集的开始时间为空 -r($program->create($emptyEndProgram)) && p('message[end]:0') && e('『计划完成』不能为空。'); // 项目集的完成时间为空 -r($program->create($beginGtEndProgram)) && p('message[end]:0') && e('『计划完成』应当大于『2022-01-12』。'); // 项目集的计划完成时间大于计划开始时间 -r($program->create($moreThanParent)) && p('message:begin;message:end') && e('父项目集的开始日期:2022-01-16,开始日期不能小于父项目集的开始日期'); // 项目集的完成日期大于父项目集的完成日期(需要实时更新日期) -$db->restoreDB(); \ No newline at end of file +r($programTester->createTest($normalProgram)) && p('name') && e('测试新增项目集一'); // 创建新项目集 +r($programTester->createTest($emptyNameProgram)) && p('message[name]:0') && e('『项目集名称』不能为空。'); // 项目集名称为空时 +r($programTester->createTest($emptyBeginProgram)) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 项目集的开始时间为空 +r($programTester->createTest($emptyEndProgram)) && p('message[end]:0') && e('『计划完成』不能为空。'); // 项目集的完成时间为空 +r($programTester->createTest($beginGtEndProgram)) && p('message[end]:0') && e('『计划完成』应当大于『2022-01-12』。'); // 『计划完成』应当大于『2022-01-12』。 diff --git a/test/model/program/createdefaultprogram.php b/test/model/program/createdefaultprogram.php index 136076867e..14270abcf7 100644 --- a/test/model/program/createdefaultprogram.php +++ b/test/model/program/createdefaultprogram.php @@ -2,7 +2,6 @@ switchDB(); /** @@ -10,14 +9,12 @@ title=测试 programModel::createDefaultProgram(); cid=1 pid=1 -创建默认项目集并返回ID >> 751 +创建默认项目集 >> 1 */ -$test = new programTest(); +$programTester = new programTest(); -$result = $test->createDefaultProgramTest(); +$result = $programTester->createDefaultProgramTest(); -r($result) && p('') && e('751'); // 创建默认项目集并返回ID - -$db->restoreDB(); \ No newline at end of file +r($result) && p('') && e('1'); // 创建默认项目集 diff --git a/test/model/program/createstakeholder.php b/test/model/program/createstakeholder.php index 26d773a962..115e695ee9 100755 --- a/test/model/program/createstakeholder.php +++ b/test/model/program/createstakeholder.php @@ -2,7 +2,15 @@ switchDB(); + +$program = zdTable('project'); +$program->id->range('1'); +$program->name->range('父项目集1'); +$program->type->range('program'); +$program->path->range('1')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(1); /** @@ -11,17 +19,14 @@ cid=1 pid=1 创建id=1的项目集的干系人并查看数量。 >> 2 -创建id=1的项目集的干系人dev1,dev2并查看Account。 >> dev2;dev1 +创建id=1的项目集的干系人dev1,dev2并查看Account。 >> dev1;dev2 */ -global $tester; -$tester->loadModel('program'); +$programTester = new programTest(); -$_POST['accounts'] = array('dev1', 'dev2'); -$tester->program->createStakeholder(1); -$result = $tester->program->getStakeholdersByPrograms(1); +$accounts = array('dev1', 'dev2'); +$result = $programTester->createStakeholderTest(1, $accounts); r(count($result)) && p('') && e('2'); // 创建id=1的项目集的干系人并查看数量。 -r($result) && p('0:account;1:account') && e('dev2;dev1'); // 创建id=1的项目集的干系人dev1,dev2并查看Account。 -$db->restoreDB(); \ No newline at end of file +r($result) && p('0:account;1:account') && e('dev1;dev2'); // 创建id=1的项目集的干系人dev1,dev2并查看Account。 diff --git a/test/model/program/getbudgetleft.php b/test/model/program/getbudgetleft.php index 066cf1789f..4db0a00893 100755 --- a/test/model/program/getbudgetleft.php +++ b/test/model/program/getbudgetleft.php @@ -1,25 +1,33 @@ #!/usr/bin/env php id->range('1,2'); +$program->name->range('父项目集1,父项目集2'); +$program->type->range('program'); +$program->budget->range('900000,899900'); +$program->path->range('1,2')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(2); + /** title=测试 programModel::getBudgetLeft(); cid=1 pid=1 -查看项目11的所有父项目集的预算剩余 >> 900000 -查看项目12的所有父项目集的预算剩余 >> 899900 +查看项目集1的所有父项目集的预算剩余 >> 900000 +查看项目集2的所有父项目集的预算剩余 >> 899900 */ -global $tester; -$tester->loadModel('program'); -$program1 = $tester->program->getById(11); -$program2 = $tester->program->getById(12); -$result1 = $tester->program->getBudgetLeft($program1); -$result2 = $tester->program->getBudgetLeft($program2); +$programTester = new programTest(); +$result1 = $programTester->getBudgetLeftTest(1); +$result2 = $programTester->getBudgetLeftTest(2); -r($result) && p() && e('900000'); // 查看项目11的所有父项目集的预算剩余 -r($result) && p() && e('899900'); // 查看项目12的所有父项目集的预算剩余 \ No newline at end of file +r($result1) && p() && e('900000'); // 查看项目集1的所有父项目集的预算剩余 +r($result2) && p() && e('899900'); // 查看项目集2的所有父项目集的预算剩余 diff --git a/test/model/program/getbudgetunitlist.php b/test/model/program/getbudgetunitlist.php deleted file mode 100755 index 367aa5677d..0000000000 --- a/test/model/program/getbudgetunitlist.php +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env php -> 人民币;美元 - -*/ - -global $tester; -$tester->loadModel('project'); - -r($tester->loadModel('program')->getBudgetUnitList()) && p('CNY;USD') && e('人民币;美元'); //获取货币类型列表 \ No newline at end of file diff --git a/test/model/program/getchildren.php b/test/model/program/getchildren.php index 61f6bb3ef8..19605353f6 100755 --- a/test/model/program/getchildren.php +++ b/test/model/program/getchildren.php @@ -1,23 +1,30 @@ #!/usr/bin/env php id->range('1-3'); +$program->name->range('父项目集1,子项目集1,子项目集2'); +$program->parent->range('0,1,1'); +$program->grade->range('1,2,2'); +$program->type->range('program'); +$program->path->range('`,1,`,`,1,2,`,`,1,3,`'); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(3); + /** title=测试 programModel:: getChildren(); cid=1 pid=1 -通过id查找id=1的子项目集个数 >> 9 -通过id查找id=22的子项目集个数 >> 7 -通过id查找id=221的子项目集个数 >> 0 +通过id查找id=1的子项目集个数 >> 2 */ -global $tester; -$tester->loadModel('program'); +$programTester = new programTest(); -r($tester->program->getChildren(1)) && p() && e('9'); // 通过id查找id=1的子项目集个数 -r($tester->program->getChildren(22)) && p() && e('7'); // 通过id查找id=22的子项目集个数 -r($tester->program->getChildren(221)) && p() && e('0'); // 通过id查找id=221的子项目集个数 \ No newline at end of file +r($programTester->getChildrenTest(1)) && p() && e('2'); // 通过id查找id=1的子项目集个数 diff --git a/test/model/program/getinvolvedprograms.php b/test/model/program/getinvolvedprograms.php index e593aaf7d8..7f5bc688d6 100755 --- a/test/model/program/getinvolvedprograms.php +++ b/test/model/program/getinvolvedprograms.php @@ -1,8 +1,20 @@ #!/usr/bin/env php id->range('1-3'); +$program->name->range('1-3')->prefix('项目集'); +$program->type->range('program'); +$program->path->range('1-3')->prefix(',')->postfix(','); +$program->grade->range('1'); +$program->openedBy->range('admin,test1'); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(3); + /** title=测试 programModel::getInvolvedPrograms(); @@ -10,18 +22,17 @@ cid=1 pid=1 获取admin参与的项目集数量 >> 2 -获取test2参与的项目集数量 >> 1 -获取admin参与的项目集ID >> 10 -获取test2参与的项目集ID >> 1 +获取test1参与的项目集数量 >> 1 +获取admin参与的项目集ID >> 1 +获取test1参与的项目集ID >> 2 */ -global $tester; -$tester->loadModel('program'); -$adminPrograms = $tester->program->getInvolvedPrograms('admin'); -$test2Programs = $tester->program->getInvolvedPrograms('test2'); +$programTester = new programTest(); +$adminPrograms = $programTester->getInvolvedProgramsTest('admin'); +$test1Programs = $programTester->getInvolvedProgramsTest('test1'); -r(count($adminPrograms)) && p() && e('2'); // 获取admin参与的项目集数量 -r(count($test2Programs)) && p() && e('1'); // 获取test2参与的项目集数量 -r($adminPrograms) && p('10') && e('10'); // 获取admin参与的项目集ID -r($test2Programs) && p('1') && e('1'); // 获取test2参与的项目集ID \ No newline at end of file +r(count($adminPrograms)) && p() && e('2'); // 获取admin参与的项目集数量 +r(count($test1Programs)) && p() && e('1'); // 获取test1参与的项目集数量 +r($adminPrograms) && p('1') && e('1'); // 获取admin参与的项目集ID +r($test1Programs) && p('2') && e('2'); // 获取test1参与的项目集ID diff --git a/test/model/program/getkanbangroup.php b/test/model/program/getkanbangroup.php index fc21900f8a..e794f8bb31 100755 --- a/test/model/program/getkanbangroup.php +++ b/test/model/program/getkanbangroup.php @@ -1,8 +1,21 @@ #!/usr/bin/env php id->range('1-3'); +$program->name->range('1-3')->prefix('项目集'); +$program->type->range('program'); +$program->path->range('1-3')->prefix(',')->postfix(','); +$program->grade->range('1'); +$program->status->range('wait'); +$program->openedBy->range('admin,test1'); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(3); + /** title=测试 programModel::getKanbanGroup(); @@ -10,16 +23,15 @@ cid=1 pid=1 查看当前用户负责的项目集看板数量 >> 2 -查看当前用户其他的项目集看板数量 >> 8 +查看当前用户其他的项目集看板数量 >> 1 查看当前用户其他的项目集看板详情 >> 项目集2 */ -global $tester; -$tester->loadModel('program'); +$programTester = new programTest(); -$kanbanGroup = $tester->program->getKanbanGroup(); +$kanbanGroup = $programTester->getKanbanGroupTest(); r(count($kanbanGroup['my'])) && p('') && e('2'); //查看当前用户负责的项目集看板数量 -r(count($kanbanGroup['others'])) && p('') && e('8'); //查看当前用户其他的项目集看板数量 -r($kanbanGroup['others']) && p('0:name') && e('项目集2'); //查看当前用户其他的项目集看板详情 \ No newline at end of file +r(count($kanbanGroup['others'])) && p('') && e('1'); //查看当前用户其他的项目集看板数量 +r($kanbanGroup['others']) && p('0:name') && e('项目集2'); //查看当前用户其他的项目集看板详情 diff --git a/test/model/program/getlist.php b/test/model/program/getlist.php index 52270bda2a..de6fb07548 100755 --- a/test/model/program/getlist.php +++ b/test/model/program/getlist.php @@ -4,45 +4,57 @@ include dirname(dirname(dirname(__FILE__))) . '/lib/init.php'; include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php'; su('admin'); +$program = zdTable('project'); +$program->id->range('1-20'); +$program->name->range('1-20')->prefix('项目集'); +$program->type->range('program'); +$program->path->range('1-20')->prefix(',')->postfix(','); +$program->grade->range('1'); +$program->status->range('wait,doing,suspended,closed'); +$program->openedBy->range('admin,test1'); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(20); + /** title=测试 programModel::getList(); cid=1 pid=1 -查看所有项目和项目集的个数 >> 120 +查看所有项目和项目集的个数 >> 20 查看分页后项目集和项目的个数 >> 10 -查看所有'closed'的项目和项目集的个数 >> 11 -查看所有'suspended'的项目和项目集的个数 >> 11 +查看所有'closed'的项目和项目集的个数 >> 5 +查看所有'suspended'的项目和项目集的个数 >> 5 按照项目和项目集名称倒序获取第一个ID >> 9 按照ID正序获取项目和项目集列表第一个ID >> 1 -获取顶级项目集个数 >> 30 +获取顶级项目集个数 >> 20 获取分页后顶级项目集个数 >> 10 -获取分页后顶级项目集个数 >> 120 +获取所有项目集个数 >> 20 */ global $tester; -$program = new programTest(); +$programTester = new programTest(); $tester->app->loadClass('pager', $static = true); $pager = new pager(0, 10, 1); -$allPorgrams = $program->getList('all'); -$pagerPrograms = $program->getList('all', 'id_asc', $pager); -$closedPrograms = $program->getList('closed'); -$suspendedPrograms = $program->getList('closed'); -$namedescPrograms = $program->getList('all', 'name_desc'); -$idascPrograms = $program->getList('all', 'id_asc'); -$topPrograms = $program->getList('all', 'id_asc', null, 'top'); -$topPagePrograms = $program->getList('all', 'id_asc', $pager, 'top'); -$childPrograms = $program->getList('all', 'id_asc', null, 'child', $topPrograms); +$allPorgrams = $programTester->getListTest('all'); +$pagerPrograms = $programTester->getListTest('all', 'id_asc', $pager); +$closedPrograms = $programTester->getListTest('closed'); +$suspendedPrograms = $programTester->getListTest('closed'); +$namedescPrograms = $programTester->getListTest('all', 'name_desc'); +$idascPrograms = $programTester->getListTest('all', 'id_asc'); +$topPrograms = $programTester->getListTest('all', 'id_asc', null, 'top'); +$topPagePrograms = $programTester->getListTest('all', 'id_asc', $pager, 'top'); +$childPrograms = $programTester->getListTest('all', 'id_asc', null, 'child', $topPrograms); -r(count($allPorgrams)) && p() && e('120'); // 查看所有项目和项目集的个数 -r(count($pagerPrograms)) && p() && e('10'); // 查看分页后项目集和项目的个数 -r(count($closedPrograms)) && p() && e('11'); // 查看所有'closed'的项目和项目集的个数 -r(count($suspendedPrograms)) && p() && e('11'); // 查看所有'suspended'的项目和项目集的个数 -r(key($namedescPrograms)) && p() && e('9'); // 按照项目和项目集名称倒序获取第一个ID -r(key($idascPrograms)) && p() && e('1'); // 按照ID正序获取项目和项目集列表第一个ID -r(count($topPrograms)) && p() && e('30'); // 获取顶级项目集个数 -r(count($topPagePrograms)) && p() && e('10'); // 获取分页后顶级项目集个数 -r(count($childPrograms)) && p() && e('120'); // 获取分页后顶级项目集个数 \ No newline at end of file +r(count($allPorgrams)) && p() && e('20'); // 查看所有项目和项目集的个数 +r(count($pagerPrograms)) && p() && e('10'); // 查看分页后项目集和项目的个数 +r(count($closedPrograms)) && p() && e('5'); // 查看所有'closed'的项目和项目集的个数 +r(count($suspendedPrograms)) && p() && e('5'); // 查看所有'suspended'的项目和项目集的个数 +r(key($namedescPrograms)) && p() && e('9'); // 按照项目和项目集名称倒序获取第一个ID +r(key($idascPrograms)) && p() && e('1'); // 按照ID正序获取项目和项目集列表第一个ID +r(count($topPrograms)) && p() && e('20'); // 获取顶级项目集个数 +r(count($topPagePrograms)) && p() && e('10'); // 获取分页后顶级项目集个数 +r(count($childPrograms)) && p() && e('20'); // 获取所有项目集个数 diff --git a/test/model/program/getpairs.php b/test/model/program/getpairs.php index ed058ca61c..495eac8e46 100755 --- a/test/model/program/getpairs.php +++ b/test/model/program/getpairs.php @@ -1,6 +1,21 @@ #!/usr/bin/env php id->range('1-20'); +$program->name->range('1-20')->prefix('项目集'); +$program->type->range('program'); +$program->path->range('1-20')->prefix(',')->postfix(','); +$program->grade->range('1'); +$program->status->range('wait,doing,suspended,closed'); +$program->openedBy->range('admin,test1'); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->deleted->range('0{15},1{5}'); +$program->gen(20); /** @@ -8,18 +23,18 @@ title=测试 programModel::getPairs(); cid=1 pid=1 -获取项目集个数 >> 6 -获取项目集个数 >> 10 -获取项目集id为9的名称 >> 项目集9 +获取项目集个数 >> 15 +获取所有项目集个数 >> 15 +获取按照id正序的第一个项目集名称 >> 项目集1 */ -global $tester; -$tester->loadModel('program'); -$programs1 = $tester->program->getPairs(); -$programs2 = $tester->program->getPairs('true'); +$programTester = new programTest(); -r(count($programs1)) && p() && e('6'); // 获取项目集个数 -r(count($programs2)) && p() && e('10'); // 获取项目集个数 -r($programs1) && p('9') && e('项目集9'); // 获取项目集id为9的名称 -r($programs2) && p('11') && e(''); // 获取不存在的项目集 \ No newline at end of file +$programs1 = $programTester->getPairsTest(); +$programs2 = $programTester->getPairsTest('true'); +$programs3 = $programTester->getPairsTest('false', 'id_asc'); + +r(count($programs1)) && p() && e('15'); // 获取项目集个数 +r(count($programs2)) && p() && e('15'); // 获取所有项目集个数 +r(current($programs3)) && p('1') && e('项目集1'); // 获取按照id正序的第一个项目集名称 diff --git a/test/model/program/getpairsbylist.php b/test/model/program/getpairsbylist.php index d9214a7e73..b2e72229c9 100755 --- a/test/model/program/getpairsbylist.php +++ b/test/model/program/getpairsbylist.php @@ -2,6 +2,19 @@ id->range('1-10'); +$program->name->range('1-10')->prefix('项目集'); +$program->type->range('program'); +$program->path->range('1-10')->prefix(',')->postfix(','); +$program->grade->range('1'); +$program->status->range('wait,doing,suspended,closed'); +$program->openedBy->range('admin,test1'); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(10); /** @@ -13,20 +26,19 @@ pid=1 通过字符串'1,2,3'获取项目集名称 >> 项目集1,项目集2,项目集3 通过数组array(1)获取项目集名称 >> 项目集1 通过数组array(1,2,3)获取项目集名称 >> 项目集1,项目集2,项目集3 -通过id为空获取项目集名称 >> Not Found -通过id=0获取项目集名称 >> Not Found -通过id=11获取项目集名称 >> Not Found +通过id为空获取项目集名称 >> 0 +通过id=0获取项目集名称 >> 0 +通过id=11获取项目集名称 >> 0 */ -$program = new programTest(); - +$programTester = new programTest(); $programIdList = array('1', '1,2,3', array(1), array(1,2,3), '', '0', '11'); -r($program->getPairsByList($programIdList[0])) && p('1') && e('项目集1'); // 通过字符串'1'获取项目集名称 -r($program->getPairsByList($programIdList[1])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); // 通过字符串'1,2,3'获取项目集名称 -r($program->getPairsByList($programIdList[2])) && p('1') && e('项目集1'); // 通过数组array(1)获取项目集名称 -r($program->getPairsByList($programIdList[3])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); // 通过数组array(1,2,3)获取项目集名称 -r($program->getPairsByList($programIdList[4])) && p('message') && e('Not Found'); // 通过id为空获取项目集名称 -r($program->getPairsByList($programIdList[5])) && p('message') && e('Not Found'); // 通过id=0获取项目集名称 -r($program->getPairsByList($programIdList[6])) && p('message') && e('Not Found'); // 通过id=11获取项目集名称 \ No newline at end of file +r($programTester->getPairsByListTest($programIdList[0])) && p('1') && e('项目集1'); // 通过字符串'1'获取项目集名称 +r($programTester->getPairsByListTest($programIdList[1])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); // 通过字符串'1,2,3'获取项目集名称 +r($programTester->getPairsByListTest($programIdList[2])) && p('1') && e('项目集1'); // 通过数组array(1)获取项目集名称 +r($programTester->getPairsByListTest($programIdList[3])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); // 通过数组array(1,2,3)获取项目集名称 +r($programTester->getPairsByListTest($programIdList[4])) && p('') && e('0'); // 通过id为空获取项目集名称 +r($programTester->getPairsByListTest($programIdList[5])) && p('') && e('0'); // 通过id=0获取项目集名称 +r($programTester->getPairsByListTest($programIdList[6])) && p('') && e('0'); // 通过id=11获取项目集名称 diff --git a/test/model/program/getparentpairs.php b/test/model/program/getparentpairs.php index e48ef60fa2..c9b05b0e5d 100755 --- a/test/model/program/getparentpairs.php +++ b/test/model/program/getparentpairs.php @@ -2,6 +2,25 @@ id->range('1-10'); +$program->name->setFields(array( + array('field' => 'name1', 'range' => '项目集{5},项目{5}'), + array('field' => 'name2', 'range' => '1-5'), +)); +$program->type->range('program{5},project{5}'); +$program->path->range('1-5,`1,6`,`2,7`,`3,8`,`4,9`,`5,10`')->prefix(',')->postfix(','); +$program->grade->range('1{5},2{5}'); +$program->parent->range('0{5},1-5'); +$program->status->range('wait,doing,suspended,closed'); +$program->model->range('[]{5},scrum{2},waterfall{2},kanban'); +$program->openedBy->range('admin,test1'); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->deleted->range('0{15},1{5}'); +$program->gen(10); /** @@ -9,22 +28,22 @@ title=测试 programModel::getParentPairs(); cid=1 pid=1 -获取所有父项目集的数量 >> 7 -获取瀑布类型父项目集的数量 >> 1 -获取ID为1的父项目集的名称 >> /项目集1 -获取父项目集的名称显示根目录 >> / +获取所有父项目集的数量 >> 5 +获取瀑布类型父项目集的数量 >> 1 +获取ID为1的父项目集的名称 >> /项目集1 +获取父项目集的名称显示根目录 >> 0 获取ID为1的父项目集的名称不显示根目录 >> 项目集1 */ -global $tester; -$tester->loadModel('program'); -$program1 = $tester->program->getParentPairs(); -$program2 = $tester->program->getParentPairs('waterfall'); -$program3 = $tester->program->getParentPairs('', 'noclosed', false); +$programTester = new programTest(); -r(count($program1)) && p() && e('7'); // 获取所有父项目集的数量 +$program1 = $programTester->getParentPairsTest(); +$program2 = $programTester->getParentPairsTest('waterfall'); +$program3 = $programTester->getParentPairsTest('', 'noclosed', false); + +r(count($program1)) && p() && e('5'); // 获取所有父项目集的数量 r(count($program2)) && p() && e('1'); // 获取瀑布类型父项目集的数量 r($program1) && p('1') && e('/项目集1'); // 获取ID为1的父项目集的名称 -r($program1) && p('0') && e('/'); // 获取父项目集的名称显示根目录 +r(key($program1)) && p('0') && e('0'); // 获取父项目集的名称显示根目录 r(array_shift($program3)) && p() && e('项目集1'); // 获取ID为1的父项目集的名称不显示根目录 diff --git a/test/model/program/getparentpm.php b/test/model/program/getparentpm.php index 6438595743..c73fac8439 100755 --- a/test/model/program/getparentpm.php +++ b/test/model/program/getparentpm.php @@ -1,8 +1,25 @@ #!/usr/bin/env php id->range('1-10'); +$program->name->range('1-10')->prefix('项目集'); +$program->type->range('program'); +$program->path->range('1-5,`1,6`,`2,7`,`3,8`,`4,9`,`5,10`')->prefix(',')->postfix(','); +$program->grade->range('1{5},2{5}'); +$program->parent->range('0{5},1-5'); +$program->status->range('wait,doing,suspended,closed'); +$program->openedBy->range('admin,test1'); +$program->pm->range('admin,test1'); +$program->acl->range('private'); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->deleted->range('0{15},1{5}'); +$program->gen(10); + /** title=测试 programModel::getParentPM(); @@ -10,17 +27,16 @@ cid=1 pid=1 获取父项目集的负责人数量 >> 2 -获取父项目集的负责人account >> pm2 -获取父项目集的负责人account >> pm3 +获取父项目集的负责人account >> admin +获取父项目集的负责人account >> test1 */ -global $tester; -$tester->loadModel('program'); +$programTester = new programTest(); -$programIdList = array(11, 12, 13); -$parentPM = $tester->program->getParentPM($programIdList); +$programIdList = array(5, 6, 7); +$parentPM = $programTester->getParentPMTest($programIdList); -r(count($parentPM)) && p() && e('2'); // 获取父项目集的负责人数量 -r($parentPM) && p('12:pm2') && e('pm2'); // 获取父项目集的负责人account -r($parentPM) && p('13:pm3') && e('pm3'); // 获取父项目集的负责人account \ No newline at end of file +r(count($parentPM)) && p() && e('2'); // 获取父项目集的负责人数量 +r($parentPM) && p('6:admin') && e('admin'); // 获取父项目集的负责人account +r($parentPM) && p('7:test1') && e('test1'); // 获取父项目集的负责人account diff --git a/test/model/program/getproductpairs.php b/test/model/program/getproductpairs.php index d65c5f86b8..286159d5bd 100755 --- a/test/model/program/getproductpairs.php +++ b/test/model/program/getproductpairs.php @@ -1,6 +1,29 @@ #!/usr/bin/env php id->range('1'); +$program->name->range('项目集1'); +$program->type->range('program'); +$program->grade->range('1'); +$program->path->range('1')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(1); + +/* Create product data. */ +$product = zdTable('product'); +$product->id->range('1-10'); +$product->name->range('1-10')->prefix('产品'); +$product->program->range('1'); +$product->type->range('normal'); +$product->status->range('normal,closed'); +$product->vision->range('rnd'); +$product->gen(10); /** @@ -8,21 +31,19 @@ title=测试 programModel::getProductPairs(); cid=1 pid=1 -获取项目集1下的所有产品数量 >> 6 -根据项目集ID获取关联产品名字 >> 已关闭的正常产品24 -获取项目集1下的未关闭的产品数量 >> 4 -根据项目或项目集ID获取关联产品详情 >> 已关闭的正常产品24 +获取项目集1下的所有产品数量 >> 10 +根据项目集ID获取关联产品名字 >> 产品2 +获取项目集1下的未关闭的产品数量 >> 5 +根据项目或项目集ID获取关联产品详情 >> 产品3 */ -global $tester; -$tester->loadModel('program'); +$programTester = new programTest(); -$products1 = $tester->program->getProductPairs(1, 'assign', 'all'); -$products2 = $tester->program->getProductPairs(1, 'assign', 'noclosed'); +$products1 = $programTester->getProductPairsTest(1, 'assign', 'all'); +$products2 = $programTester->getProductPairsTest(1, 'assign', 'noclosed'); -r(count($products1)) && p() && e('6'); //获取项目集1下的所有产品数量 -r($products1) && p('24') && e('已关闭的正常产品24'); //根据项目集ID获取关联产品名字 - -r(count($products2)) && p() && e('4'); //获取项目集1下的未关闭的产品数量 -r($products2) && p('24') && e('已关闭的正常产品24'); //根据项目或项目集ID获取关联产品详情 \ No newline at end of file +r(count($products1)) && p() && e('10'); // 获取项目集1下的所有产品数量 +r($products1) && p('2') && e('产品2'); // 根据项目集ID获取关联产品名字 +r(count($products2)) && p() && e('5'); // 获取项目集1下的未关闭的产品数量 +r($products2) && p('3') && e('产品3'); // 根据项目或项目集ID获取关联产品详情 diff --git a/test/model/program/getprogresslist.php b/test/model/program/getprogresslist.php index 3e5fdb0f6e..98942728ad 100755 --- a/test/model/program/getprogresslist.php +++ b/test/model/program/getprogresslist.php @@ -1,24 +1,51 @@ #!/usr/bin/env php id->range('1-8'); +$program->name->setFields(array( + array('field' => 'name1', 'range' => '项目集{2},项目{3},迭代{3}'), + array('field' => 'name2', 'range' => '1-8') +)); +$program->type->range('program{2},project{3},sprint{3}'); +$program->status->range('doing'); +$program->parent->range('0,0,1,1,2,3,4,5'); +$program->grade->range('1{2},2{3},1{3}'); +$program->project->range('0{5},3-5'); +$program->path->range('1,2,`1,3`,`1,4`,`2,5`,`3,6`,`4,7`,`5,8`')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20230212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(8); + +$task = zdTable('task'); +$task->name->prefix('任务')->range('1-3'); +$task->project->range('3-5'); +$task->execution->range('6-8'); +$task->estimate->range('6-8'); +$task->consumed->range('1,3,2'); +$task->left->range('5,4,6'); +$task->status->range('doing'); +$task->assignedTo->range('admin'); +$task->gen(3); + /** title=测试 programModee::getProgressList(); cid=1 pid=1 -获取项目和项目集的个数 >> 120 -获取id=1的项目的进度 >> 41 -获取id=11的项目集的进度 >> 45 +获取项目和项目集的个数 >> 5 +获取id=2的项目的进度 >> 25 +获取id=4的项目集的进度 >> 43 */ -global $tester; -$tester->loadModel('program'); -$progressList = $tester->program->getProgressList(); +$programTester = new programTest(); +$progressList = $programTester->getProgressListTest(); -r(count($progressList)) && p() && e('120'); // 获取项目和项目集的个数 -r($progressList) && p('1') && e('41'); // 获取id=1的项目的进度 -r($progressList) && p('11') && e('45'); // 获取id=11的项目集的进度 \ No newline at end of file +r(count($progressList)) && p() && e('5'); // 获取项目和项目集的个数 +r($progressList) && p('2') && e('25'); // 获取id=2的项目的进度 +r($progressList) && p('4') && e('43'); // 获取id=4的项目集的进度 diff --git a/test/model/program/getprojectlist.php b/test/model/program/getprojectlist.php index d919f26e11..eda706a9e1 100755 --- a/test/model/program/getprojectlist.php +++ b/test/model/program/getprojectlist.php @@ -1,36 +1,48 @@ #!/usr/bin/env php id->range('1-5'); +$program->name->range('项目集1,项目集2,项目1,项目2,项目3'); +$program->type->range('program{2},project{3}'); +$program->status->range('doing{3},closed,doing'); +$program->parent->range('0,0,1,1,2'); +$program->grade->range('1{2},2{3}'); +$program->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(5); + /** title=测试 programModel::getProjectList(); cid=1 pid=1 -获取所有项目列表数量 >> 110 -获取未完成项目列表数量 >> 88 -带项目集名称的项目列表数量 >> 88 -获取我参与的项目列表数量 >> 1 -不带项目集名称的项目名称 >> 项目2 -带项目集名称的项目名称 >> 项目集2/项目2 -我参与的项目的名称 >> 项目集1/项目1 +获取所有项目列表数量 >> 3 +获取未完成项目列表数量 >> 2 +带项目集名称的项目列表数量 >> 2 +获取我参与的项目列表数量 >> 1 +不带项目集名称的项目名称 >> 项目2 +带项目集名称的项目名称 >> 项目集2/项目3 +我参与的项目的名称 >> 项目集1/项目1 */ -global $tester; -$tester->loadModel('program'); +$programTester = new programTest(); -$allProjects = $tester->program->getProjectList(0); -$undoneProjects = $tester->program->getProjectList(0, 'undone'); -$withProgramProjects = $tester->program->getProjectList(0, 'undone', 0, 'id_desc', null, 1); -$involvedProjects = $tester->program->getProjectList(0, 'undone', 0, 'id_desc', null, 1, true); +$allProjects = $programTester->getProjectListTest(0); +$undoneProjects = $programTester->getProjectListTest(0, 'undone'); +$withProgramProjects = $programTester->getProjectListTest(0, 'undone', 0, 'id_desc', null, 1); +$involvedProjects = $programTester->getProjectListTest(0, 'undone', 0, 'id_desc', null, 1, true); -r(count($allProjects)) && p() && e('110'); // 获取所有项目列表数量 -r(count($undoneProjects)) && p() && e('88'); // 获取未完成项目列表数量 -r(count($withProgramProjects)) && p() && e('88'); // 带项目集名称的项目列表数量 -r(count($involvedProjects)) && p() && e('1'); // 获取我参与的项目列表数量 -r($allProjects) && p('12:name') && e('项目2'); // 不带项目集名称的项目名称 -r($withProgramProjects) && p('12:name') && e('项目集2/项目2'); // 带项目集名称的项目名称 -r($involvedProjects) && p('11:name') && e('项目集1/项目1'); // 我参与的项目的名称 \ No newline at end of file +r(count($allProjects)) && p() && e('3'); // 获取所有项目列表数量 +r(count($undoneProjects)) && p() && e('2'); // 获取未完成项目列表数量 +r(count($withProgramProjects)) && p() && e('2'); // 带项目集名称的项目列表数量 +r(count($involvedProjects)) && p() && e('1'); // 获取我参与的项目列表数量 +r($allProjects) && p('4:name') && e('项目2'); // 不带项目集名称的项目名称 +r($withProgramProjects) && p('5:name') && e('项目集2/项目3'); // 带项目集名称的项目名称 +r($involvedProjects) && p('3:name') && e('项目集1/项目1'); // 我参与的项目的名称 diff --git a/test/model/program/getprojectstats.php b/test/model/program/getprojectstats.php index 006020a677..fef452af4d 100755 --- a/test/model/program/getprojectstats.php +++ b/test/model/program/getprojectstats.php @@ -1,27 +1,40 @@ #!/usr/bin/env php id->range('1-5'); +$program->name->range('项目集1,项目集2,项目1,项目2,项目3'); +$program->type->range('program{2},project{3}'); +$program->status->range('doing{3},closed,doing'); +$program->parent->range('0,0,1,1,2'); +$program->grade->range('1{2},2{3}'); +$program->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(5); + /** title=测试 programModel::getProjectStats(); cid=1 pid=1 -查看当前项目集下所有未完成的项目的个数 >> 7 -查看当前项目集下所有未完成的项目的个数 >> 7 -查看当前项目集下所有未完成的项目按照id倒序排的第一个项目集信息 >> 91,项目81 -查看当前项目集下所有未完成的项目按照id正序排的第一个项目集信息 >> 12,项目2 +查看当前项目集下所有未完成的项目的个数 >> 1 +查看当前项目集下所有未完成的项目的个数 >> 1 +查看当前项目集下所有未完成的项目按照id倒序排的第一个项目集信息 >> 3,项目1 +查看当前项目集下所有未完成的项目按照id正序排的第一个项目集信息 >> 5,项目3 */ -global $tester; -$tester->loadModel('program'); -$stats1 = $tester->program->getProjectStats(1); -$stats2 = $tester->program->getProjectStats(2, 'undone', 0, 'id_asc', null); +$programTester = new programTest(); -r(count($stats1)) && p() && e('7'); // 查看当前项目集下所有未完成的项目的个数 -r(count($stats2)) && p() && e('7'); // 查看当前项目集下所有未完成的项目的个数 -r(current($stats1)) && p('id,name') && e('91,项目81'); // 查看当前项目集下所有未完成的项目按照id倒序排的第一个项目集信息 -r(current($stats2)) && p('id,name') && e('12,项目2'); // 查看当前项目集下所有未完成的项目按照id正序排的第一个项目集信息 \ No newline at end of file +$stats1 = $programTester->getProjectStatsTest(1); +$stats2 = $programTester->getProjectStatsTest(2, 'undone', 0, 'id_asc', null); + +r(count($stats1)) && p() && e('1'); // 查看当前项目集下所有未完成的项目的个数 +r(count($stats2)) && p() && e('1'); // 查看当前项目集下所有未完成的项目的个数 +r(current($stats1)) && p('id,name') && e('3,项目1'); // 查看当前项目集下所有未完成的项目按照id倒序排的第一个项目集信息 +r(current($stats2)) && p('id,name') && e('5,项目3'); // 查看当前项目集下所有未完成的项目按照id正序排的第一个项目集信息 diff --git a/test/model/program/getteammemberpairs.php b/test/model/program/getteammemberpairs.php index 6d96e43d82..99a50ca717 100755 --- a/test/model/program/getteammemberpairs.php +++ b/test/model/program/getteammemberpairs.php @@ -1,27 +1,50 @@ #!/usr/bin/env php id->range('1-5'); +$program->name->range('项目集1,项目集2,项目1,项目2,项目3'); +$program->type->range('program{2},project{3}'); +$program->status->range('wait'); +$program->parent->range('0,0,1,1,2'); +$program->grade->range('1{2},2{3}'); +$program->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(5); + +$team = zdTable('team'); +$team->id->range('1-5'); +$team->root->range('3-5'); +$team->type->range('project'); +$team->account->range('admin'); +$team->account->setFields(array( + array('field' => 'account1', 'range' => 'admin,test{4}'), + array('field' => 'account2', 'range' => '[],1-4'), +)); +$team->gen(5); + /** title=测试 programModel::getTeamMemberPairs(); cid=1 pid=1 -获取项目集1下所有团队成员数量 >> 19 -获取项目集2下所有团队成员数量 >> 19 -获取项目集1下所有团队成员真实姓名 >> P:产品经理92 -获取项目集2下所有团队成员真实姓名 >> U:测试83 +获取项目集1下所有团队成员数量 >> 5 +获取项目集2下所有团队成员数量 >> 2 +获取项目集1下所有团队成员真实姓名 >> A:admin +获取项目集2下所有团队成员真实姓名 >> T:测试2 */ -global $tester; -$tester->loadModel('program'); -$teams1 = $tester->program->getTeamMemberPairs(1); -$teams2 = $tester->program->getTeamMemberPairs(2); +$programTester = new programTest(); +$teams1 = $programTester->getTeamMemberPairsTest(1); +$teams2 = $programTester->getTeamMemberPairsTest(2); -r(count($teams1)) && p() && e('19'); // 获取项目集1下所有团队成员数量 -r(count($teams2)) && p() && e('19'); // 获取项目集2下所有团队成员数量 -r($teams1) && p('pm92') && e('P:产品经理92'); // 获取项目集1下所有团队成员真实姓名 -r($teams2) && p('user83') && e('U:测试83'); // 获取项目集2下所有团队成员真实姓名 \ No newline at end of file +r(count($teams1)) && p() && e('5'); // 获取项目集1下所有团队成员数量 +r(count($teams2)) && p() && e('2'); // 获取项目集2下所有团队成员数量 +r($teams1) && p('admin') && e('A:admin'); // 获取项目集1下所有团队成员真实姓名 +r($teams2) && p('test2') && e('T:测试2'); // 获取项目集2下所有团队成员真实姓名 diff --git a/test/model/program/gettoppairs.php b/test/model/program/gettoppairs.php index 1def059995..9f7282aa28 100755 --- a/test/model/program/gettoppairs.php +++ b/test/model/program/gettoppairs.php @@ -1,23 +1,35 @@ #!/usr/bin/env php id->range('1-5'); +$program->name->range('项目集1,项目集2'); +$program->type->range('program'); +$program->grade->range('1,1,0{3}'); +$program->status->range('wait,closed,wait{3}'); +$program->parent->range('0,0,1,1,2'); +$program->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(5); + /** title=测试 programModel::getTopPairs(); cid=1 pid=1 -获取系统中所有顶级项目集数量 >> 10 -获取系统中所有未关闭的顶级项目集数量 >> 10 -获取系统中所有顶级项目集数量 >> 10 +获取系统中所有顶级项目集数量 >> 2 +获取系统中所有未关闭的顶级项目集数量 >> 1 +获取系统中所有顶级项目集数量 >> 2 */ -global $tester; -$tester->loadModel('program'); +$programTester = new programTest(); -r(count($tester->program->getTopPairs())) && p() && e('10'); // 获取系统中所有顶级项目集数量 -r(count($tester->program->getTopPairs('', 'noclosed'))) && p() && e('10'); // 获取系统中所有未关闭的顶级项目集数量 -r(count($tester->program->getTopPairs('', '', true))) && p() && e('10'); // 获取系统中所有顶级项目集数量 \ No newline at end of file +r(count($programTester->getTopPairsTest())) && p() && e('2'); // 获取系统中所有顶级项目集数量 +r(count($programTester->getTopPairsTest('', 'noclosed'))) && p() && e('1'); // 获取系统中所有未关闭的顶级项目集数量 +r(count($programTester->getTopPairsTest('', '', true))) && p() && e('2'); // 获取系统中所有顶级项目集数量 diff --git a/test/model/program/gettreemenu.php b/test/model/program/gettreemenu.php index f73d77e4e4..9193622755 100755 --- a/test/model/program/gettreemenu.php +++ b/test/model/program/gettreemenu.php @@ -1,6 +1,19 @@ #!/usr/bin/env php id->range('1-5'); +$program->name->range('项目集1,项目集2'); +$program->type->range('program'); +$program->status->range('wait'); +$program->parent->range('0,0,1,1,2'); +$program->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(5); /** @@ -8,12 +21,11 @@ title=测试 programModel::getTreeMenu(); cid=1 pid=1 -查看返回的字符个数 >> 789 +查看返回的字符个数 >> 项目集1项目集2 */ +$programTester = new programTest(); +$programs1 = $programTester->getTreeMenuTest(1); +$programs1 = preg_replace('/\s*/', '', strip_tags($programs1)); -global $tester; -$tester->loadModel('program'); -$programs1 = $tester->program->getTreeMenu(1); - -r(strlen($programs1)) && p() && e('789'); // 查看返回的字符个数 \ No newline at end of file +r($programs1) && p() && e('项目集1项目集2'); // 查看返回的字符个数 diff --git a/test/model/program/hasunfinished.php b/test/model/program/hasunfinished.php index 5a1cd2665c..ee4c1e7aa0 100755 --- a/test/model/program/hasunfinished.php +++ b/test/model/program/hasunfinished.php @@ -1,23 +1,32 @@ #!/usr/bin/env php id->range('1-5'); +$program->name->range('项目集1,项目集2'); +$program->type->range('program'); +$program->status->range('wait'); +$program->parent->range('0,0,1,1,2'); +$program->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(5); + /** title=测试 programModel::hasUnfinished(); cid=1 pid=1 -获取项目集1下未完成的项目和项目集数量 >> 9 -获取项目集2下未完成的项目和项目集数量 >> 7 +获取项目集1下未完成的项目和项目集数量 >> 2 +获取项目集2下未完成的项目和项目集数量 >> 1 */ -global $tester; -$tester->loadModel('program'); -$program1 = $tester->program->getById(1); -$program2 = $tester->program->getById(2); +$programTester = new programTest(); -r($tester->program->hasUnfinished($program1)) && p() && e('9'); // 获取项目集1下未完成的项目和项目集数量 -r($tester->program->hasUnfinished($program2)) && p() && e('7'); // 获取项目集2下未完成的项目和项目集数量 \ No newline at end of file +r($programTester->hasUnfinishedTest(1)) && p() && e('2'); // 获取项目集1下未完成的项目和项目集数量 +r($programTester->hasUnfinishedTest(2)) && p() && e('1'); // 获取项目集2下未完成的项目和项目集数量 diff --git a/test/model/program/isclickable.php b/test/model/program/isclickable.php index 3d8904c401..75c9f3c4f4 100755 --- a/test/model/program/isclickable.php +++ b/test/model/program/isclickable.php @@ -2,6 +2,18 @@ id->range('1,2'); +$program->name->range('项目集1,项目集2'); +$program->type->range('program'); +$program->status->range('wait'); +$program->parent->range('0'); +$program->path->range('1,2')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(2); /** @@ -9,24 +21,23 @@ title=测试 programModel::createStakeholder(); cid=1 pid=1 -传入项目集1,动作为closed,判断是否可点击 >> 1 +传入项目集1,动作为closed,判断是否可点击 >> 1 传入项目集1,动作为activate,判断是否可点击 >> 0 -传入项目集1,动作为suspend,判断是否可点击 >> 1 -传入项目集2,动作为closed,判断是否可点击 >> 1 +传入项目集1,动作为suspend,判断是否可点击 >> 1 +传入项目集2,动作为closed,判断是否可点击 >> 1 传入项目集2,动作为activate,判断是否可点击 >> 0 传入项目集2,动作为activate,判断是否可点击 >> 1 */ -global $tester; -$tester->loadModel('program'); +$programTester = new programTest(); -$program1 = $tester->program->getById(1); -$program2 = $tester->program->getById(2); +$program1 = $programTester->getByIDTest(1); +$program2 = $programTester->getByIDTest(2); -r($tester->program->isClickable($program1, 'close')) && p('') && e('1'); // 传入项目集1,动作为closed,判断是否可点击 -r($tester->program->isClickable($program1, 'activate')) && p('') && e('0'); // 传入项目集1,动作为activate,判断是否可点击 -r($tester->program->isClickable($program1, 'suspend')) && p('') && e('1'); // 传入项目集1,动作为suspend,判断是否可点击 -r($tester->program->isClickable($program2, 'close')) && p('') && e('1'); // 传入项目集2,动作为closed,判断是否可点击 -r($tester->program->isClickable($program2, 'activate')) && p('') && e('0'); // 传入项目集2,动作为activate,判断是否可点击 -r($tester->program->isClickable($program2, 'suspend')) && p('') && e('1'); // 传入项目集2,动作为activate,判断是否可点击 \ No newline at end of file +r($programTester->isClickableTest($program1, 'close')) && p('') && e('1'); // 传入项目集1,动作为closed,判断是否可点击 +r($programTester->isClickableTest($program1, 'activate')) && p('') && e('0'); // 传入项目集1,动作为activate,判断是否可点击 +r($programTester->isClickableTest($program1, 'suspend')) && p('') && e('1'); // 传入项目集1,动作为suspend,判断是否可点击 +r($programTester->isClickableTest($program2, 'close')) && p('') && e('1'); // 传入项目集2,动作为closed,判断是否可点击 +r($programTester->isClickableTest($program2, 'activate')) && p('') && e('0'); // 传入项目集2,动作为activate,判断是否可点击 +r($programTester->isClickableTest($program2, 'suspend')) && p('') && e('1'); // 传入项目集2,动作为activate,判断是否可点击 diff --git a/test/model/program/settreepath.php b/test/model/program/settreepath.php index 689014342c..76b79722ac 100755 --- a/test/model/program/settreepath.php +++ b/test/model/program/settreepath.php @@ -1,26 +1,34 @@ #!/usr/bin/env php id->range('1,10'); +$program->name->range('项目集1'); +$program->type->range('program'); +$program->parent->range('[],[1]'); +$program->path->range('1,10')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(2); + /** title=测试 programModel::setTreePath(); cid=1 pid=1 -设置之前的项目集的path >> ,2,12, -设置之后的项目集的path >> ,2,12, +设置之前的项目集的path >> ,10, +设置之后的项目集的path >> ,1,10, */ -global $tester; -$tester->loadModel('program'); +$programTester = new programTest(); -$before = $tester->program->getById(12); -$tester->program->setTreePath(12); -$after = $tester->program->getById(12); +$before = $programTester->getByIDTest(10); +$after = $programTester->setTreePathTest(10); -r($before) && p('path') && e(',2,12,'); // 设置之前的项目集的path -r($after) && p('path') && e(',2,12,'); // 设置之后的项目集的path -$db->restoreDB(); \ No newline at end of file +r($before) && p('path') && e(',10,'); // 设置之前的项目集的path +r($after) && p('path') && e(',1,10,'); // 设置之后的项目集的path diff --git a/test/model/program/update.php b/test/model/program/update.php index 62037da4ae..6254c65887 100755 --- a/test/model/program/update.php +++ b/test/model/program/update.php @@ -2,16 +2,24 @@ switchDB(); su('admin'); +$program = zdTable('project'); +$program->id->range('1'); +$program->name->range('项目集1'); +$program->type->range('program'); +$program->path->range('1')->prefix(',')->postfix(','); +$program->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$program->gen(1); + /** title=测试 programModel::update(); cid=1 pid=1 -正常更新项目集的情况 >> 测试更新项目集十 +正常更新项目集的情况 >> 测试更新项目集 更新项目集名称为空时 >> 『项目集名称』不能为空。 当计划开始为空时更新项目集信息 >> 『计划开始』不能为空。 当计划完成为空时更新项目集信息 >> 『计划完成』不能为空。 @@ -19,19 +27,20 @@ pid=1 */ -$program = new programTest(); +$programTester = new programTest(); $data = array( - 'parent' => '0', - 'name' => '测试更新项目集十', - 'begin' => '2020-10-10', - 'end' => '2022-09-03', - 'acl' => 'private', - 'budget' => '100', - 'budgetUnit' => 'CNY', - 'syncPRJUnit' => true, + 'parent' => '0', + 'name' => '测试更新项目集', + 'begin' => '2020-10-10', + 'end' => '2023-09-03', + 'acl' => 'private', + 'budget' => '100', + 'status' => 'wait', + 'budgetUnit' => 'CNY', + 'syncPRJUnit' => true, 'exchangeRate' => '', - 'whitelist' => array('dev10', 'dev12') + 'whitelist' => array('dev10', 'dev12') ); $normalProgram = $data; @@ -48,9 +57,8 @@ $emptyEndProgram['end'] = ''; $realBeganProgram = $data; $realBeganProgram['realBegan'] = '2020-11-10'; -r($program->update(10, $normalProgram)) && p('name') && e('测试更新项目集十'); // 正常更新项目集的情况 -r($program->update(10, $emptyTitleProgram)) && p('message[name]:0') && e('『项目集名称』不能为空。'); // 更新项目集名称为空时 -r($program->update(10, $emptyBeginProgram)) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 当计划开始为空时更新项目集信息 -r($program->update(10, $emptyEndProgram)) && p('message[end]:0') && e('『计划完成』不能为空。'); // 当计划完成为空时更新项目集信息 -r($program->update(10, $realBeganProgram)) && p('status') && e('doing'); // 更新未开始的项目集实际开始时间 -$db->restoreDB(); +r($programTester->updateTest(1, $normalProgram)) && p('name') && e('测试更新项目集'); // 正常更新项目集的情况 +r($programTester->updateTest(1, $emptyTitleProgram)) && p('message[name]:0') && e('『项目集名称』不能为空。'); // 更新项目集名称为空时 +r($programTester->updateTest(1, $emptyBeginProgram)) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 当计划开始为空时更新项目集信息 +r($programTester->updateTest(1, $emptyEndProgram)) && p('message[end]:0') && e('『计划完成』不能为空。'); // 当计划完成为空时更新项目集信息 +r($programTester->updateTest(1, $realBeganProgram)) && p('status') && e('doing'); // 更新未开始的项目集实际开始时间