Merge branch 'sprint/tsj_uinttest' into 'master'
Sprint/tsj uinttest See merge request easycorp/zentaopms!6704
This commit is contained in:
+255
-10
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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'),
|
||||
|
||||
+1
-1
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -2,30 +2,37 @@
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
$db->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();
|
||||
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』。
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
$db->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();
|
||||
r($result) && p('') && e('1'); // 创建默认项目集
|
||||
|
||||
@@ -2,7 +2,15 @@
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
$db->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();
|
||||
r($result) && p('0:account;1:account') && e('dev1;dev2'); // 创建id=1的项目集的干系人dev1,dev2并查看Account。
|
||||
|
||||
@@ -1,25 +1,33 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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,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的所有父项目集的预算剩余
|
||||
r($result1) && p() && e('900000'); // 查看项目集1的所有父项目集的预算剩余
|
||||
r($result2) && p() && e('899900'); // 查看项目集2的所有父项目集的预算剩余
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programModel::getBudgetUnitList();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取货币类型列表 >> 人民币;美元
|
||||
|
||||
*/
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('project');
|
||||
|
||||
r($tester->loadModel('program')->getBudgetUnitList()) && p('CNY;USD') && e('人民币;美元'); //获取货币类型列表
|
||||
@@ -1,23 +1,30 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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的子项目集个数
|
||||
r($programTester->getChildrenTest(1)) && p() && e('2'); // 通过id查找id=1的子项目集个数
|
||||
|
||||
@@ -1,8 +1,20 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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
|
||||
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
|
||||
|
||||
@@ -1,8 +1,21 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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'); //查看当前用户其他的项目集看板详情
|
||||
r(count($kanbanGroup['others'])) && p('') && e('1'); //查看当前用户其他的项目集看板数量
|
||||
r($kanbanGroup['others']) && p('0:name') && e('项目集2'); //查看当前用户其他的项目集看板详情
|
||||
|
||||
@@ -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'); // 获取分页后顶级项目集个数
|
||||
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'); // 获取所有项目集个数
|
||||
|
||||
@@ -1,6 +1,21 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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->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(''); // 获取不存在的项目集
|
||||
$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正序的第一个项目集名称
|
||||
|
||||
@@ -2,6 +2,19 @@
|
||||
<?php
|
||||
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-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获取项目集名称
|
||||
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获取项目集名称
|
||||
|
||||
@@ -2,6 +2,25 @@
|
||||
<?php
|
||||
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-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的父项目集的名称不显示根目录
|
||||
|
||||
@@ -1,8 +1,25 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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
|
||||
r(count($parentPM)) && p() && e('2'); // 获取父项目集的负责人数量
|
||||
r($parentPM) && p('6:admin') && e('admin'); // 获取父项目集的负责人account
|
||||
r($parentPM) && p('7:test1') && e('test1'); // 获取父项目集的负责人account
|
||||
|
||||
@@ -1,6 +1,29 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
su('admin');
|
||||
|
||||
/* Create program data. */
|
||||
$program = zdTable('project');
|
||||
$program->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获取关联产品详情
|
||||
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获取关联产品详情
|
||||
|
||||
@@ -1,24 +1,51 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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的项目集的进度
|
||||
r(count($progressList)) && p() && e('5'); // 获取项目和项目集的个数
|
||||
r($progressList) && p('2') && e('25'); // 获取id=2的项目的进度
|
||||
r($progressList) && p('4') && e('43'); // 获取id=4的项目集的进度
|
||||
|
||||
@@ -1,36 +1,48 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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'); // 我参与的项目的名称
|
||||
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'); // 我参与的项目的名称
|
||||
|
||||
@@ -1,27 +1,40 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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正序排的第一个项目集信息
|
||||
$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正序排的第一个项目集信息
|
||||
|
||||
@@ -1,27 +1,50 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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下所有团队成员真实姓名
|
||||
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下所有团队成员真实姓名
|
||||
|
||||
@@ -1,23 +1,35 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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'); // 获取系统中所有顶级项目集数量
|
||||
r(count($programTester->getTopPairsTest())) && p() && e('2'); // 获取系统中所有顶级项目集数量
|
||||
r(count($programTester->getTopPairsTest('', 'noclosed'))) && p() && e('1'); // 获取系统中所有未关闭的顶级项目集数量
|
||||
r(count($programTester->getTopPairsTest('', '', true))) && p() && e('2'); // 获取系统中所有顶级项目集数量
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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'); // 查看返回的字符个数
|
||||
r($programs1) && p() && e('项目集1项目集2'); // 查看返回的字符个数
|
||||
|
||||
@@ -1,23 +1,32 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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-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下未完成的项目和项目集数量
|
||||
r($programTester->hasUnfinishedTest(1)) && p() && e('2'); // 获取项目集1下未完成的项目和项目集数量
|
||||
r($programTester->hasUnfinishedTest(2)) && p() && e('1'); // 获取项目集2下未完成的项目和项目集数量
|
||||
|
||||
@@ -2,6 +2,18 @@
|
||||
<?php
|
||||
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,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,判断是否可点击
|
||||
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,判断是否可点击
|
||||
|
||||
@@ -1,26 +1,34 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
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,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();
|
||||
r($before) && p('path') && e(',10,'); // 设置之前的项目集的path
|
||||
r($after) && p('path') && e(',1,10,'); // 设置之后的项目集的path
|
||||
|
||||
@@ -2,16 +2,24 @@
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
$db->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'); // 更新未开始的项目集实际开始时间
|
||||
|
||||
Reference in New Issue
Block a user