Merge branch 'master' of https://gitlab.zcorp.cc/easycorp/zentaopms
This commit is contained in:
@@ -253,10 +253,12 @@ class executionModel extends model
|
||||
{
|
||||
$this->session->set('execution', key($executions), $this->app->tab);
|
||||
|
||||
$execution = $this->dao->select('*')->from(TABLE_EXECUTION)->where('id')->eq($executionID)->andWhere('type')->in('sprint,stage,kanban')->fetch();
|
||||
if(empty($execution)) return js::error($this->lang->notFound);
|
||||
|
||||
if($executionID && strpos(",{$this->app->user->view->sprints},", ",{$executionID},") === false) $this->accessDenied();
|
||||
if($executionID)
|
||||
{
|
||||
$execution = $this->dao->select('*')->from(TABLE_EXECUTION)->where('id')->eq($executionID)->andWhere('type')->in('sprint,stage,kanban')->fetch();
|
||||
if(empty($execution)) return js::error($this->lang->notFound);
|
||||
if(strpos(",{$this->app->user->view->sprints},", ",{$executionID},") === false) $this->accessDenied();
|
||||
}
|
||||
}
|
||||
|
||||
$this->setProjectSession($this->session->execution);
|
||||
@@ -512,9 +514,9 @@ class executionModel extends model
|
||||
->where('id')->eq($executionID)
|
||||
->limit(1)
|
||||
->exec();
|
||||
|
||||
|
||||
if(dao::isError()) return false;
|
||||
|
||||
|
||||
/* Get team and language item. */
|
||||
$this->loadModel('user');
|
||||
$team = $this->user->getTeamMemberPairs($executionID, 'execution');
|
||||
|
||||
@@ -44,7 +44,7 @@ class task extends control
|
||||
$extra = str_replace(array(',', ' '), array('&', ''), $extra);
|
||||
parse_str($extra, $output);
|
||||
|
||||
$executions = $this->execution->getPairs();
|
||||
$executions = $this->execution->getPairs(0, 'all', !common::checkNotCN() ? 'noclosed' : '');
|
||||
$executionID = $this->execution->saveState($executionID, $executions);
|
||||
$this->execution->setMenu($executionID);
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@ class testtask extends control
|
||||
$task = $this->dao->findById($taskID)->from(TABLE_TESTTASK)->fetch();
|
||||
if($this->app->tab == 'project') $link = $this->createLink('project', 'testtask', "projectID=$task->project");
|
||||
if($this->app->tab == 'execution') $link = $this->createLink('execution', 'testtask', "executionID=$task->execution");
|
||||
if($this->app->tab == 'qa') $link = $this->createLink('testtask', 'browse', "productID=$productID");
|
||||
if($this->app->tab == 'qa') $link = $this->createLink('testtask', 'browse', "productID=" . $this->post->product);
|
||||
return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $link));
|
||||
}
|
||||
|
||||
|
||||
+176
-29
@@ -174,22 +174,56 @@ class kanbanTest
|
||||
return $object;
|
||||
}
|
||||
|
||||
public function importCardTest($kanbanID, $regionID, $groupID, $columnID)
|
||||
/**
|
||||
* Test import card.
|
||||
*
|
||||
* @param int $kanbanID
|
||||
* @param int $regionID
|
||||
* @param int $groupID
|
||||
* @param int $columnID
|
||||
* @param array $cards
|
||||
* @param int $targetLane
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function importCardTest($kanbanID, $regionID, $groupID, $columnID, $cards, $targetLane)
|
||||
{
|
||||
$objects = $this->objectModel->importCard($kanbanID, $regionID, $groupID, $columnID);
|
||||
$_POST['cards'] = $cards;
|
||||
$_POST['targetLane'] = $targetLane;
|
||||
|
||||
$this->objectModel->importCard($kanbanID, $regionID, $groupID, $columnID);
|
||||
|
||||
unset($_POST);
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
global $tester;
|
||||
$object = $tester->dao->select('*')->from(TABLE_KANBANCELL)->where('`lane`')->eq($targetLane)->andWhere('`column`')->eq($columnID)->andWhere('kanban')->eq($kanbanID)->andWhere('type')->eq('common')->fetch();
|
||||
return $object;
|
||||
}
|
||||
|
||||
public function importObjectTest($kanbanID, $regionID, $groupID, $columnID, $objectType)
|
||||
/**
|
||||
* Test import object.
|
||||
*
|
||||
* @param int $kanbanID
|
||||
* @param int $regionID
|
||||
* @param int $groupID
|
||||
* @param int $columnID
|
||||
* @param string $objectType
|
||||
* @param array $param
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function importObjectTest($kanbanID, $regionID, $groupID, $columnID, $objectType, $param)
|
||||
{
|
||||
foreach($param as $key => $value) $_POST[$key] = $value;
|
||||
|
||||
$objects = $this->objectModel->importObject($kanbanID, $regionID, $groupID, $columnID, $objectType);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
global $tester;
|
||||
$object = $tester->dao->select('*')->from(TABLE_KANBANCELL)->where('`lane`')->eq($param['targetLane'])->andWhere('`column`')->eq($columnID)->andWhere('kanban')->eq($kanbanID)->andWhere('type')->eq('common')->fetch();
|
||||
return $object;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -307,6 +341,15 @@ class kanbanTest
|
||||
return 'lanes:' . count($objects->lanes) . ', cards:' . $cardCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get a RD kanban data.
|
||||
*
|
||||
* @param int $executionID
|
||||
* @param string $browseType
|
||||
* @param int $regionID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getRDKanbanTest($executionID, $browseType = 'all', $regionID = 0)
|
||||
{
|
||||
$objects = $this->objectModel->getRDKanban($executionID, $browseType, 'id_desc', $regionID);
|
||||
@@ -331,18 +374,34 @@ class kanbanTest
|
||||
return 'columns:' . $columnCount . ', lanes:' . $laneCount . ', cards:' . $cardCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get region by id.
|
||||
*
|
||||
* @param int $regionID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getRegionByIDTest($regionID)
|
||||
{
|
||||
$objects = $this->objectModel->getRegionByID($regionID);
|
||||
$object = $this->objectModel->getRegionByID($regionID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
return $object;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get ordered region pairs.
|
||||
*
|
||||
* @param int $kanbanID
|
||||
* @param int $regionID
|
||||
* @param string $from
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getRegionPairsTest($kanbanID, $regionID = 0, $from = 'kanban')
|
||||
{
|
||||
$objects = $this->objectModel->getRegionPairs($kanbanID, $regionID = 0, $from = 'kanban');
|
||||
$objects = $this->objectModel->getRegionPairs($kanbanID, $regionID, $from);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
@@ -440,13 +499,31 @@ class kanbanTest
|
||||
return count($objects);
|
||||
}
|
||||
|
||||
public function getImportedCardsTest($kanbanID, $cards, $fromType)
|
||||
/**
|
||||
* Test get imported cards.
|
||||
*
|
||||
* @param int $kanbanID
|
||||
* @param string $fromType
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getImportedCardsTest($kanbanID, $fromType)
|
||||
{
|
||||
global $tester;
|
||||
$cards = $tester->dao->select('*')->from(TABLE_KANBANCARD)
|
||||
->where('deleted')->eq(0)
|
||||
->andWhere('kanban')->eq($kanbanID)
|
||||
->andWhere('archived')->eq(0)
|
||||
->andWhere('fromID')->eq(0)
|
||||
->fetchAll('id');
|
||||
|
||||
$objects = $this->objectModel->getImportedCards($kanbanID, $cards, $fromType);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
$ids = '';
|
||||
foreach($objects as $object) $ids .= ',' . $object->id;
|
||||
return $ids;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -477,13 +554,18 @@ class kanbanTest
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getCardGroupByExecutionTest($executionID, $browseType = 'all', $orderBy = 'id_asc')
|
||||
public function getCardGroupByExecutionTest($executionID, $browseType = 'all')
|
||||
{
|
||||
$objects = $this->objectModel->getCardGroupByExecution($executionID, $browseType, $orderBy);
|
||||
$objects = $this->objectModel->getCardGroupByExecution($executionID, $browseType);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return count($objects);
|
||||
$cardCount = 0;
|
||||
foreach($objects as $lane)
|
||||
{
|
||||
foreach($lane as $type) $cardCount += count($type);
|
||||
}
|
||||
return $cardCount;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -580,22 +662,40 @@ class kanbanTest
|
||||
return $names;
|
||||
}
|
||||
|
||||
public function getSpaceListTest($browseType, $pager = null)
|
||||
/**
|
||||
* Test get space list.
|
||||
*
|
||||
* @param string $user
|
||||
* @param string $browseType
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getSpaceListTest($user, $browseType)
|
||||
{
|
||||
$objects = $this->objectModel->getSpaceList($browseType, $pager = null);
|
||||
su($user);
|
||||
$objects = $this->objectModel->getSpaceList($browseType);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
return count($objects);
|
||||
}
|
||||
|
||||
public function getSpacePairsTest($browseType = 'private')
|
||||
/**
|
||||
* Test get space pairs.
|
||||
*
|
||||
* @param int $user
|
||||
* @param string $browseType
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getSpacePairsTest($user, $browseType = 'private')
|
||||
{
|
||||
$objects = $this->objectModel->getSpacePairs($browseType = 'private');
|
||||
su($user);
|
||||
$objects = $this->objectModel->getSpacePairs($browseType);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
return count($objects);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1048,13 +1148,27 @@ class kanbanTest
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test move a card.
|
||||
*
|
||||
* @param int $cardID
|
||||
* @param int $fromColID
|
||||
* @param int $toColID
|
||||
* @param int $fromLaneID
|
||||
* @param int $toLaneID
|
||||
* @param int $kanbanID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function moveCardTest($cardID, $fromColID, $toColID, $fromLaneID, $toLaneID, $kanbanID = 0)
|
||||
{
|
||||
$objects = $this->objectModel->moveCard($cardID, $fromColID, $toColID, $fromLaneID, $toLaneID, $kanbanID = 0);
|
||||
$objects = $this->objectModel->moveCard($cardID, $fromColID, $toColID, $fromLaneID, $toLaneID, $kanbanID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
global $tester;
|
||||
$object = $tester->dao->select('*')->from(TABLE_KANBANCELL)->where('`lane`')->eq($toLaneID)->andWhere('`column`')->eq($toColID)->andWhere('`type`')->eq('common')->fetch();
|
||||
return $object;
|
||||
}
|
||||
|
||||
public function updateCardColorTest($cardID, $color)
|
||||
@@ -1136,13 +1250,20 @@ class kanbanTest
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get space by id.
|
||||
*
|
||||
* @param int $spaceID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getSpaceByIdTest($spaceID)
|
||||
{
|
||||
$objects = $this->objectModel->getSpaceById($spaceID);
|
||||
$object = $this->objectModel->getSpaceById($spaceID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
return $object;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1341,21 +1462,47 @@ class kanbanTest
|
||||
return $count;
|
||||
}
|
||||
|
||||
public function isClickableTest($object, $action)
|
||||
/**
|
||||
* Test check if user can execute an action.
|
||||
*
|
||||
* @param string $objectType
|
||||
* @param int $objectID
|
||||
* @param string $action
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function isClickableTest($objectType, $objectID, $action)
|
||||
{
|
||||
$objects = $this->objectModel->isClickable($object, $action);
|
||||
$functionName = 'get' . $objectType . 'ById';
|
||||
$object = $this->objectModel->$functionName($objectID);
|
||||
|
||||
$result = $this->objectModel->isClickable($object, $action);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
return $result ? 1 : 2;
|
||||
}
|
||||
|
||||
public function importTest($kanbanID)
|
||||
/**
|
||||
* Test import.
|
||||
*
|
||||
* @param int $kanbanID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function importTest($kanbanID, $import, $importObjectList)
|
||||
{
|
||||
$objects = $this->objectModel->import($kanbanID);
|
||||
$_POST['import'] = $import;
|
||||
$_POST['importObjectList'] = $importObjectList;
|
||||
|
||||
$this->objectModel->import($kanbanID);
|
||||
|
||||
unset($_POST);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
$object = $this->objectModel->getByID($kanbanID);
|
||||
$object->object = !empty($object->object) ? $object->object : 0;
|
||||
return $object;
|
||||
}
|
||||
}
|
||||
|
||||
+17
-333
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
class Program
|
||||
class programTest
|
||||
{
|
||||
/**
|
||||
* __construct
|
||||
@@ -8,26 +8,23 @@ class Program
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($user)
|
||||
public function __construct()
|
||||
{
|
||||
global $tester;
|
||||
|
||||
su($user);
|
||||
su('admin');
|
||||
$this->program = $tester->loadModel('program');
|
||||
}
|
||||
|
||||
/**
|
||||
* create
|
||||
* Test create program.
|
||||
*
|
||||
* @param data mixed $data
|
||||
* @param array $data
|
||||
* @access public
|
||||
* @return void
|
||||
* @return object
|
||||
*/
|
||||
public function create($data)
|
||||
{
|
||||
global $app;
|
||||
|
||||
$_POST = '';
|
||||
$_POST = $data;
|
||||
|
||||
$programID = $this->program->create();
|
||||
@@ -36,57 +33,9 @@ class Program
|
||||
|
||||
$program = $this->program->getById($programID);
|
||||
|
||||
$app->dbh->query("DELETE FROM ". TABLE_PROGRAM ." where name = '" . $data['name']. "'");
|
||||
return $program;
|
||||
}
|
||||
|
||||
/**
|
||||
* createData
|
||||
*
|
||||
* @param int mixed $status
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function createData($status)
|
||||
{
|
||||
$data = array(
|
||||
'parent' => 0,
|
||||
'name' => '测试新增项目集一',
|
||||
'budget' => '',
|
||||
'budgetUnit' => 'CNY',
|
||||
'begin' => '2022-01-12',
|
||||
'end' => '2022-02-12',
|
||||
'desc' => '测试项目集描述',
|
||||
'acl' => 'private',
|
||||
'whitelist' => ''
|
||||
);
|
||||
|
||||
switch($status)
|
||||
{
|
||||
case '1': // 创建新项目集
|
||||
break;
|
||||
case '2': // 项目集名称为空时
|
||||
$data['name'] = '';
|
||||
break;
|
||||
case '3': // 项目集的开始时间为空
|
||||
$data['begin'] = '';
|
||||
break;
|
||||
case '4': // 项目集的完成时间为空
|
||||
$data['end'] = '';
|
||||
break;
|
||||
case '5': // 项目集的计划完成时间大于计划开始时间
|
||||
$data['end'] = '2022-01-10';
|
||||
break;
|
||||
case '6': // 项目集的完成日期大于父项目集的完成日期
|
||||
$data['parent'] = '1';
|
||||
$data['begin'] = '2018-01-01';
|
||||
$data['end'] = '2022-02-10';
|
||||
break;
|
||||
default:
|
||||
}
|
||||
return $this->create($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* createStakeholder
|
||||
*
|
||||
@@ -171,21 +120,9 @@ class Program
|
||||
}
|
||||
|
||||
/**
|
||||
* getInvolvedPrograms
|
||||
* Test get pairs by list.
|
||||
*
|
||||
* @param string mixed $account
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getInvolvedPrograms($account)
|
||||
{
|
||||
return $this->program->getInvolvedPrograms($account);
|
||||
}
|
||||
|
||||
/**
|
||||
* getPairsByList
|
||||
*
|
||||
* @param string $programIDList
|
||||
* @param string|array $programIDList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
@@ -193,7 +130,7 @@ class Program
|
||||
{
|
||||
if(empty($this->program->getPairsByList($programIDList)))
|
||||
{
|
||||
return array('code' => 'fail', 'message' => 'Not Found');
|
||||
return array('code' => '404', 'message' => 'Not Found');
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -202,28 +139,22 @@ class Program
|
||||
}
|
||||
|
||||
/**
|
||||
* getPairs
|
||||
* Test get list.
|
||||
*
|
||||
* @param mixed $status
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getPairs()
|
||||
public function getList($status = 'all', $orderBy = 'id_asc', $pager = NULL)
|
||||
{
|
||||
$programs = $this->program->getPairs();
|
||||
if(!$programs) return 0;
|
||||
$this->program->cookie->showClosed = 'ture';
|
||||
$programs = $this->program->getList($status, $orderBy, $pager);
|
||||
|
||||
if(dao::isError()) return array('message' => dao::getError());
|
||||
|
||||
return $programs;
|
||||
}
|
||||
|
||||
/**
|
||||
* getCount
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getCount()
|
||||
{
|
||||
return count($this->program->getPairs());
|
||||
}
|
||||
|
||||
/**
|
||||
* getParentPairs
|
||||
@@ -236,17 +167,6 @@ class Program
|
||||
return $this->program->getParentPairs();
|
||||
}
|
||||
|
||||
/**
|
||||
* getCount1
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getCount1()
|
||||
{
|
||||
return count($this->program->getParentPairs());
|
||||
}
|
||||
|
||||
/**
|
||||
* getParentPM
|
||||
*
|
||||
@@ -297,20 +217,6 @@ class Program
|
||||
return $this->program->getProductPairs(1, 'assign', $status);
|
||||
}
|
||||
|
||||
/**
|
||||
* getCount2
|
||||
*
|
||||
* @param int $programID
|
||||
* @param string $mode
|
||||
* @param string $status
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getCount2($programID = 0, $mode = 'assign', $status = 'all')
|
||||
{
|
||||
return count($this->program->getProductPairs($programID, $mode, $status));
|
||||
}
|
||||
|
||||
/**
|
||||
* getProgressList
|
||||
*
|
||||
@@ -322,17 +228,6 @@ class Program
|
||||
return $this->program->getProgressList();
|
||||
}
|
||||
|
||||
/**
|
||||
* getCount3
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getCount3()
|
||||
{
|
||||
return count($this->program->getProgressList());
|
||||
}
|
||||
|
||||
/**
|
||||
* getStatsByProgramID
|
||||
*
|
||||
@@ -422,34 +317,6 @@ class Program
|
||||
return $stakeHolders;
|
||||
}
|
||||
|
||||
/**
|
||||
* getCount4
|
||||
*
|
||||
* @param int $programIdList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getCount4($programIdList = 0)
|
||||
{
|
||||
$stakeHolders = $this->program->getStakeholdersByPrograms($programIdList);
|
||||
|
||||
return count($stakeHolders);
|
||||
}
|
||||
|
||||
/**
|
||||
* getByID1
|
||||
*
|
||||
* @param int $programID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getByID1($programID = 0)
|
||||
{
|
||||
$stakeholders = $this->program->getStakeholders($programID);
|
||||
|
||||
return $stakeholders;
|
||||
}
|
||||
|
||||
/**
|
||||
* getByOrder
|
||||
*
|
||||
@@ -464,70 +331,6 @@ class Program
|
||||
return checkOrder($stakeholders, $orderBy);
|
||||
}
|
||||
|
||||
/**
|
||||
* getCount5
|
||||
*
|
||||
* @param int $programID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getCount5($programID = 0)
|
||||
{
|
||||
$stakeholders = $this->program->getStakeholders($programID);
|
||||
|
||||
return count($stakeholders);
|
||||
}
|
||||
|
||||
/**
|
||||
* getById2
|
||||
*
|
||||
* @param mixed $programID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getById2($programID)
|
||||
{
|
||||
if(empty($this->program->getTeamMemberPairs($programID)))
|
||||
{
|
||||
return array('code' => 'fail', 'message' => 'Not Found');
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->program->getTeamMemberPairs($programID);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getCount6
|
||||
*
|
||||
* @param mixed $programID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getCount6($programID)
|
||||
{
|
||||
return count($this->program->getTeamMemberPairs($programID));
|
||||
}
|
||||
|
||||
/**
|
||||
* getById3
|
||||
*
|
||||
* @param int $programID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getById3($programID = 0)
|
||||
{
|
||||
if(empty($this->program->getTopById($programID)))
|
||||
{
|
||||
return array('code' => 'fail', 'message' => 'Not Found');
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->program->getTopById($programID);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getTopPairs
|
||||
*
|
||||
@@ -555,125 +358,6 @@ class Program
|
||||
return $this->program->hasUnfinished($program);
|
||||
}
|
||||
|
||||
/**
|
||||
* getKanbanGroup
|
||||
*
|
||||
* @param string $type
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getKanbanGroup($type = ''){
|
||||
$program = $this->program->getKanbanGroup();
|
||||
return $program;
|
||||
}
|
||||
|
||||
/**
|
||||
* getListByStatus
|
||||
*
|
||||
* @param mixed $status
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getListByStatus($status)
|
||||
{
|
||||
$this->program->cookie->showClosed = 'ture';
|
||||
$programs = $this->program->getList($status);
|
||||
if(!$programs) return 0;
|
||||
foreach($programs as $program)
|
||||
{
|
||||
if($program->status != $status and $status != 'all') return 0;
|
||||
}
|
||||
return count($programs);
|
||||
}
|
||||
|
||||
/**
|
||||
* getListByOrder
|
||||
*
|
||||
* @param mixed $orderBy
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getListByOrder($orderBy)
|
||||
{
|
||||
$programs = $this->program->getList('all', $orderBy);
|
||||
return checkOrder($programs, $orderBy);
|
||||
}
|
||||
|
||||
/**
|
||||
* getListByProgramID
|
||||
*
|
||||
* @param int $programID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getListByProgramID($programID = 0)
|
||||
{
|
||||
return count($this->program->getProjectList($programID));
|
||||
}
|
||||
|
||||
/**
|
||||
* getListByStatusNo
|
||||
*
|
||||
* @param string $browseType
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getListByStatusNo($browseType = 'all')
|
||||
{
|
||||
$projects = $this->program->getProjectList('0', $browseType);
|
||||
|
||||
if(!$projects) return 0;
|
||||
foreach($projects as $project)
|
||||
{
|
||||
if($project->status != $browseType and $browseType != 'all' and $browseType != 'undone') return 0;
|
||||
if($browseType == 'undone' and ($project->status != ('wait' or 'doing'))) return 0;
|
||||
}
|
||||
|
||||
return count($projects);
|
||||
}
|
||||
|
||||
/**
|
||||
* getListByOrderId
|
||||
*
|
||||
* @param string $orderBy
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getListByOrderId($orderBy = 'id_desc')
|
||||
{
|
||||
$projects = $this->program->getProjectList('0', 'all', '0', $orderBy);
|
||||
|
||||
return checkOrder($projects, $orderBy);
|
||||
}
|
||||
|
||||
/**
|
||||
* getListAddProgramTitle
|
||||
*
|
||||
* @param int $programTitle
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getListAddProgramTitle($programTitle = 0)
|
||||
{
|
||||
return $this->program->getProjectList('0', 'all', '0', 'id_desc', '', $programTitle);
|
||||
}
|
||||
|
||||
/**
|
||||
* getListByInvolved
|
||||
*
|
||||
* @param int $involved
|
||||
* @param string $count
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getListByInvolved($involved = 0, $count = '')
|
||||
{
|
||||
$projects = $this->program->getProjectList('0', 'all', '0', 'id_desc', '', '0', $involved);
|
||||
|
||||
if($count == 'count') return count($projects);
|
||||
return $projects;
|
||||
}
|
||||
|
||||
/**
|
||||
* setTreePath
|
||||
*
|
||||
|
||||
@@ -500,184 +500,4 @@ class storyTest
|
||||
$storyIdList = array_keys($changes);
|
||||
return $this->objectModel->getByList($storyIdList);
|
||||
}
|
||||
|
||||
public function reportConditionTest()
|
||||
{
|
||||
$objects = $this->objectModel->reportCondition();
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function checkForceReviewTest()
|
||||
{
|
||||
$objects = $this->objectModel->checkForceReview();
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function getTracksTest($productID = 0, $branch = 0, $projectID = 0, $pager = null)
|
||||
{
|
||||
$objects = $this->objectModel->getTracks($productID = 0, $branch = 0, $projectID = 0, $pager = null);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function getTrackByIDTest($storyID)
|
||||
{
|
||||
$objects = $this->objectModel->getTrackByID($storyID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function getStoryRelationTest($storyID, $storyType, $fields = array())
|
||||
{
|
||||
$objects = $this->objectModel->getStoryRelation($storyID, $storyType, $fields = array());
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function linkStoryTest($executionID, $productID, $storyID)
|
||||
{
|
||||
$objects = $this->objectModel->linkStory($executionID, $productID, $storyID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function linkStoriesTest($storyID)
|
||||
{
|
||||
$objects = $this->objectModel->linkStories($storyID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function unlinkStoryTest($storyID, $linkedStoryID)
|
||||
{
|
||||
$objects = $this->objectModel->unlinkStory($storyID, $linkedStoryID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function getRelationTest($storyID, $storyType, $fields = array())
|
||||
{
|
||||
$objects = $this->objectModel->getRelation($storyID, $storyType, $fields = array());
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function getStoryRelationCountsTest($storyID, $storyType = '')
|
||||
{
|
||||
$objects = $this->objectModel->getStoryRelationCounts($storyID, $storyType = '');
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function getEstimateInfoTest($storyID, $round = 0)
|
||||
{
|
||||
$objects = $this->objectModel->getEstimateInfo($storyID, $round = 0);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function getEstimateRoundsTest($storyID)
|
||||
{
|
||||
$objects = $this->objectModel->getEstimateRounds($storyID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function saveEstimateInfoTest($storyID)
|
||||
{
|
||||
$objects = $this->objectModel->saveEstimateInfo($storyID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function sortStoriesOfPlanTest($planID, $sortIDList, $orderBy = 'id_desc', $pageID = 1, $recPerPage = 100)
|
||||
{
|
||||
$objects = $this->objectModel->sortStoriesOfPlan($planID, $sortIDList, $orderBy = 'id_desc', $pageID = 1, $recPerPage = 100);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function replaceURLangTest($type)
|
||||
{
|
||||
$objects = $this->objectModel->replaceURLang($type);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function getReviewerPairsTest($storyID, $version)
|
||||
{
|
||||
$objects = $this->objectModel->getReviewerPairs($storyID, $version);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function setStatusByReviewRulesTest($reviewerList)
|
||||
{
|
||||
$objects = $this->objectModel->setStatusByReviewRules($reviewerList);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function recordReviewActionTest($story, $result = '', $reason = '')
|
||||
{
|
||||
$objects = $this->objectModel->recordReviewAction($story, $result = '', $reason = '');
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function updateStoryByReviewTest($storyID, $oldStory, $story)
|
||||
{
|
||||
$objects = $this->objectModel->updateStoryByReview($storyID, $oldStory, $story);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
public function superReviewTest($storyID, $oldStory, $story, $result = '', $reason = '')
|
||||
{
|
||||
$objects = $this->objectModel->superReview($storyID, $oldStory, $story, $result = '', $reason = '');
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ $endDitto = array('1' => 'off', '2' => 'off', '3' => 'off', '4' => 'off');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->batchCreateCardTest(array('name' => $no_name))) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,803,802,801,1,2,'); // 批量创建卡片 其中一个没有名称
|
||||
r($kanban->batchCreateCardTest(array('name' => $no_name))) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,1003,1002,1001,1,2,801,'); // 批量创建卡片 其中一个没有名称
|
||||
r($kanban->batchCreateCardTest(array('estimate' => $estimate))) && p() && e('预计不能为负数!'); // 批量创建卡片 预计为负数
|
||||
r($kanban->batchCreateCardTest(array(), true)) && p() && e('"截止日期"不能小于"预计开始"!'); // 批量创建看板 截止日期小于开始日期
|
||||
r($kanban->batchCreateCardTest()) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,810,809,808,807,804,803,802,801,1,2,'); // 批量创建看板
|
||||
r($kanban->batchCreateCardTest()) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,1010,1009,1008,1007,1004,1003,1002,1001,1,2,801,'); // 批量创建看板
|
||||
system("./ztest init");
|
||||
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->getCardGroupByExecution();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$executionIDList = array('161', '162', '163', '164', '165');
|
||||
$browseTypeList = array('task', 'bug', 'story');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[0])) && p() && e('5'); // 测试查询execution161的卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[0], $browseTypeList[0])) && p() && e('1'); // 测试查询execution161的task卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[0], $browseTypeList[1])) && p() && e('3'); // 测试查询execution161的bug卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[0], $browseTypeList[2])) && p() && e('1'); // 测试查询execution161的story卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[1])) && p() && e('5'); // 测试查询execution162的卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[1], $browseTypeList[0])) && p() && e('1'); // 测试查询execution162的task卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[1], $browseTypeList[1])) && p() && e('3'); // 测试查询execution162的bug卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[1], $browseTypeList[2])) && p() && e('1'); // 测试查询execution162的story卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[2])) && p() && e('0'); // 测试查询execution163的卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[3])) && p() && e('0'); // 测试查询execution164的卡片
|
||||
r($kanban->getCardGroupByExecutionTest($executionIDList[4])) && p() && e('0'); // 测试查询execution165的卡片
|
||||
@@ -19,17 +19,17 @@ $statusList = array('doing', 'done');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[0])) && p() && e('8'); // 测试查询kanban 1的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[1])) && p() && e('8'); // 测试查询kanban 2的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[2])) && p() && e('8'); // 测试查询kanban 3的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[3])) && p() && e('8'); // 测试查询kanban 4的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[4])) && p() && e('8'); // 测试查询kanban 5的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[0])) && p() && e('16'); // 测试查询kanban 1的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[1])) && p() && e('16'); // 测试查询kanban 2的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[2])) && p() && e('16'); // 测试查询kanban 3的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[3])) && p() && e('16'); // 测试查询kanban 4的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[4])) && p() && e('16'); // 测试查询kanban 5的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[5])) && p() && e('0'); // 测试查询不存在kanban的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[0])) && p() && e('8'); // 测试查询region 1的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[1])) && p() && e('8'); // 测试查询region 2的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[2])) && p() && e('8'); // 测试查询region 3的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[3])) && p() && e('8'); // 测试查询region 4的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[4])) && p() && e('8'); // 测试查询region 5的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[0])) && p() && e('16'); // 测试查询region 1的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[1])) && p() && e('16'); // 测试查询region 2的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[2])) && p() && e('16'); // 测试查询region 3的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[3])) && p() && e('16'); // 测试查询region 4的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[4])) && p() && e('16'); // 测试查询region 5的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[5])) && p() && e('0'); // 测试查询不存在region的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[2], $statusList[0])) && p() && e('534'); // 测试查询status doing的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[2], $statusList[1])) && p() && e('266'); // 测试查询status doing的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[2], $statusList[0])) && p() && e('667'); // 测试查询status doing的卡片数量
|
||||
r($kanban->getCardsByObjectTest($objectType[2], $statusList[1])) && p() && e('333'); // 测试查询status doing的卡片数量
|
||||
|
||||
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->getImportedCards();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$kanbanIDList = array('1', '2', '9', '10', '11', '12', '23', '25');
|
||||
$fromType = array('productplan', 'release', 'execution', 'build');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->getImportedCardsTest($kanbanIDList[0], $fromType[0])) && p() && e(',1,2,3,4,5,6,7,8,801,802,803,804,805,806,807,808'); // 查看看板1的普通卡片和productplan卡片
|
||||
r($kanban->getImportedCardsTest($kanbanIDList[0], $fromType[1])) && p() && e(',1,2,3,4,5,6,7,8'); // 查看看板1的普通卡片和release卡片
|
||||
r($kanban->getImportedCardsTest($kanbanIDList[1], $fromType[0])) && p() && e(',9,10,11,12,13,14,15,16,809,810,811,812,813,814,815,816'); // 查看看板2的普通卡片和productplan卡片
|
||||
r($kanban->getImportedCardsTest($kanbanIDList[1], $fromType[1])) && p() && e(',9,10,11,12,13,14,15,16'); // 查看看板2的普通卡片和release卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[2], $fromType[1])) && p() && e(',65,66,67,68,69,70,71,72,871,872'); // 查看看板9的普通卡片和release卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[2], $fromType[2])) && p() && e(',65,66,67,68,69,70,71,72'); // 查看看板9的普通卡片和execution卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[3], $fromType[1])) && p() && e(',73,74,75,76,77,78,79,80,873,874,875,876,877,878,879,880'); // 查看看板10的普通卡片和release卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[3], $fromType[2])) && p() && e(',73,74,75,76,77,78,79,80'); // 查看看板10的普通卡片和execution卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[4], $fromType[2])) && p() && e(',81,82,83,84,85,86,87,88,881,882,883,884,885,886,887,888'); // 查看看板11的普通卡片和execution卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[4], $fromType[3])) && p() && e(',81,82,83,84,85,86,87,88'); // 查看看板11的普通卡片和build卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[5], $fromType[2])) && p() && e(',89,90,91,92,93,94,95,96,889,890,891,892,893,894,895,896'); // 查看看板12的普通卡片和execution卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[5], $fromType[3])) && p() && e(',89,90,91,92,93,94,95,96'); // 查看看板12的普通卡片和build卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[6], $fromType[3])) && p() && e(',177,178,179,180,181,182,183,184,981,982,983,984'); // 查看看板23的普通卡片和build卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[6], $fromType[0])) && p() && e(',177,178,179,180,181,182,183,184'); // 查看看板23的普通卡片和productplan片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[7], $fromType[3])) && p() && e(',193,194,195,196,197,198,199,200,993,994,995,996,997,998,999,1000'); // 查看看板25的普通卡片和build卡片
|
||||
r($kanban->getImportedCardstest($kanbanIDList[7], $fromType[0])) && p() && e(',193,194,195,196,197,198,199,200'); // 查看看板25的普通卡片和productplan片
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->getRegionByID();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$regionIDList = array('1', '2', '3', '4', '5', '10001');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->getRegionByIDTest($regionIDList[0])) && p('name,kanban,space') && e('默认区域,1,1'); // 测试查询看板1信息
|
||||
r($kanban->getRegionByIDTest($regionIDList[1])) && p('name,kanban,space') && e('默认区域,2,1'); // 测试查询看板2信息
|
||||
r($kanban->getRegionByIDTest($regionIDList[2])) && p('name,kanban,space') && e('默认区域,3,2'); // 测试查询看板3信息
|
||||
r($kanban->getRegionByIDTest($regionIDList[3])) && p('name,kanban,space') && e('默认区域,4,2'); // 测试查询看板4信息
|
||||
r($kanban->getRegionByIDTest($regionIDList[4])) && p('name,kanban,space') && e('默认区域,5,3'); // 测试查询看板5信息
|
||||
r($kanban->getRegionByIDTest($regionIDList[5])) && p('name,kanban,space') && e('0'); // 测试查询不存在的看板信息
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->getRegionPairs();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$kanbanIDList = array('1', '2', '3', '4', '5', '10001');
|
||||
$regionIDList = array('1', '2', '3', '4', '5', '10001');
|
||||
$executionIDList = array('161', '162');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[0])) && p('1') && e('默认区域'); // 测试查询kanban1的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[0], $regionIDList[0])) && p('1') && e('默认区域'); // 测试查询kanban1 reigon1的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[0], $regionIDList[1])) && p('1') && e('0'); // 测试查询kanban1 region2的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[1])) && p('2') && e('默认区域'); // 测试查询kanban1的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[1], $regionIDList[1])) && p('2') && e('默认区域'); // 测试查询kanban1 reigon2的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[1], $regionIDList[2])) && p('2') && e('0'); // 测试查询kanban1 region3的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[2])) && p('3') && e('默认区域'); // 测试查询kanban1的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[2], $regionIDList[2])) && p('3') && e('默认区域'); // 测试查询kanban1 reigon3的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[2], $regionIDList[3])) && p('3') && e('0'); // 测试查询kanban1 region4的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[3])) && p('4') && e('默认区域'); // 测试查询kanban1的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[3], $regionIDList[3])) && p('4') && e('默认区域'); // 测试查询kanban1 reigon4的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[3], $regionIDList[4])) && p('4') && e('0'); // 测试查询kanban1 region5的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[4])) && p('5') && e('默认区域'); // 测试查询kanban1的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[4], $regionIDList[4])) && p('5') && e('默认区域'); // 测试查询kanban1 reigon5的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[4], $regionIDList[5])) && p('5') && e('0'); // 测试查询kanban1 region10001的区域信息
|
||||
r($kanban->getRegionPairsTest($kanbanIDList[5])) && p() && e('0'); // 测试查询不存在的kanban的区域信息
|
||||
r($kanban->getRegionPairsTest($executionIDList[0], 0, 'execution')) && p('101') && e('默认区域'); // 测试查询执行161的区域信息
|
||||
r($kanban->getRegionPairsTest($executionIDList[1], 0, 'execution')) && p('102') && e('默认区域'); // 测试查询执行162的区域信息
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->getSpaceById();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$spaceIDList = array('1', '2', '3', '4', '5', '10001');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->getSpaceByIdTest($spaceIDList[0])) && p('name,type,owner,status') && e('协作空间1,cooperation,po15,active'); // 测试查询空间1信息
|
||||
r($kanban->getSpaceByIdTest($spaceIDList[1])) && p('name,type,owner,status') && e('私有空间2,private,po16,active'); // 测试查询空间2信息
|
||||
r($kanban->getSpaceByIdTest($spaceIDList[2])) && p('name,type,owner,status') && e('公共空间3,public,po17,active'); // 测试查询空间3信息
|
||||
r($kanban->getSpaceByIdTest($spaceIDList[3])) && p('name,type,owner,status') && e('协作空间4,cooperation,po18,active'); // 测试查询空间4信息
|
||||
r($kanban->getSpaceByIdTest($spaceIDList[4])) && p('name,type,owner,status') && e('私有空间5,private,po19,active'); // 测试查询空间5信息
|
||||
r($kanban->getSpaceByIdTest($spaceIDList[5])) && p('name,type,owner,status') && e('0'); // 测试查询不存在的空间信息
|
||||
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->getSpaceList();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$userList = array('admin', 'po16', 'test37', 'user25');
|
||||
$browseType = array('private', 'cooperation', 'public', 'involved');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->getSpaceListTest($userList[0], $browseType[0])) && p() && e('0'); // 查询用户可以看到的admin private的空间数量
|
||||
r($kanban->getSpaceListTest($userList[0], $browseType[1])) && p() && e('17'); // 查询用户可以看到的admin cooperation的空间数量
|
||||
r($kanban->getSpaceListTest($userList[0], $browseType[2])) && p() && e('16'); // 查询用户可以看到的admin public的空间数量
|
||||
r($kanban->getSpaceListTest($userList[0], $browseType[3])) && p() && e('0'); // 查询用户可以看到的admin involved的空间数量
|
||||
r($kanban->getSpaceListTest($userList[1], $browseType[0])) && p() && e('1'); // 查询用户可以看到的po16 private的空间数量
|
||||
r($kanban->getSpaceListTest($userList[1], $browseType[1])) && p() && e('0'); // 查询用户可以看到的po16 cooperation的空间数量
|
||||
r($kanban->getSpaceListTest($userList[1], $browseType[2])) && p() && e('16'); // 查询用户可以看到的po16 public的空间数量
|
||||
r($kanban->getSpaceListTest($userList[1], $browseType[3])) && p() && e('0'); // 查询用户可以看到的po16 involved的空间数量
|
||||
r($kanban->getSpaceListTest($userList[2], $browseType[0])) && p() && e('1'); // 查询用户可以看到的pm3 private的空间数量
|
||||
r($kanban->getSpaceListTest($userList[2], $browseType[1])) && p() && e('0'); // 查询用户可以看到的test37 cooperation的空间数量
|
||||
r($kanban->getSpaceListTest($userList[2], $browseType[2])) && p() && e('16'); // 查询用户可以看到的test37 public的空间数量
|
||||
r($kanban->getSpaceListTest($userList[2], $browseType[3])) && p() && e('0'); // 查询用户可以看到的test37 involved的空间数量
|
||||
r($kanban->getSpaceListTest($userList[3], $browseType[0])) && p() && e('1'); // 查询用户可以看到的user25 private的空间数量
|
||||
r($kanban->getSpaceListTest($userList[3], $browseType[1])) && p() && e('0'); // 查询用户可以看到的user25 cooperation的空间数量
|
||||
r($kanban->getSpaceListTest($userList[3], $browseType[2])) && p() && e('16'); // 查询用户可以看到的user25 public的空间数量
|
||||
r($kanban->getSpaceListTest($userList[3], $browseType[3])) && p() && e('0'); // 查询用户可以看到的user25 involved的空间数量
|
||||
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->getSpacePairs();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$userList = array('admin', 'po16', 'test37', 'user25');
|
||||
$browseType = array('private', 'cooperation', 'public', 'involved');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->getSpacePairsTest($userList[0], $browseType[0])) && p() && e('0'); // 查询用户可以看到的admin private的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[0], $browseType[1])) && p() && e('17'); // 查询用户可以看到的admin cooperation的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[0], $browseType[2])) && p() && e('16'); // 查询用户可以看到的admin public的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[0], $browseType[3])) && p() && e('0'); // 查询用户可以看到的admin involved的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[1], $browseType[0])) && p() && e('1'); // 查询用户可以看到的po16 private的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[1], $browseType[1])) && p() && e('0'); // 查询用户可以看到的po16 cooperation的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[1], $browseType[2])) && p() && e('16'); // 查询用户可以看到的po16 public的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[1], $browseType[3])) && p() && e('0'); // 查询用户可以看到的po16 involved的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[2], $browseType[0])) && p() && e('1'); // 查询用户可以看到的pm3 private的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[2], $browseType[1])) && p() && e('0'); // 查询用户可以看到的test37 cooperation的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[2], $browseType[2])) && p() && e('16'); // 查询用户可以看到的test37 public的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[2], $browseType[3])) && p() && e('0'); // 查询用户可以看到的test37 involved的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[3], $browseType[0])) && p() && e('1'); // 查询用户可以看到的user25 private的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[3], $browseType[1])) && p() && e('0'); // 查询用户可以看到的user25 cooperation的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[3], $browseType[2])) && p() && e('16'); // 查询用户可以看到的user25 public的空间数量
|
||||
r($kanban->getSpacePairsTest($userList[3], $browseType[3])) && p() && e('0'); // 查询用户可以看到的user25 involved的空间数量
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->import();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
$kanbanIDList = array('1', '2', '3', '4', '5');
|
||||
$import = array('on', 'off');
|
||||
$importObjectList1 = array('plans', 'releases', 'builds', 'executions', 'cards');
|
||||
$importObjectList2 = array('plans', 'cards');
|
||||
|
||||
r($kanban->importTest($kanbanIDList[0], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板1的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[0], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板1的导入功能 可选项plans cards
|
||||
r($kanban->importTest($kanbanIDList[0], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板1的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[0], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板1的导入功能 可选项plans cards
|
||||
r($kanban->importTest($kanbanIDList[1], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板2的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[1], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板2的导入功能 可选项plans cards
|
||||
r($kanban->importTest($kanbanIDList[1], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板2的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[1], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板2的导入功能 可选项plans cards
|
||||
r($kanban->importTest($kanbanIDList[2], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板3的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[2], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板3的导入功能 可选项plans cards
|
||||
r($kanban->importTest($kanbanIDList[2], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板3的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[2], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板3的导入功能 可选项plans cards
|
||||
r($kanban->importTest($kanbanIDList[3], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板4的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[3], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板4的导入功能 可选项plans cards
|
||||
r($kanban->importTest($kanbanIDList[3], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板4的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[3], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板4的导入功能 可选项plans cards
|
||||
r($kanban->importTest($kanbanIDList[4], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板5的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[4], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板5的导入功能 可选项plans cards
|
||||
r($kanban->importTest($kanbanIDList[4], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板5的导入功能 可选项全部
|
||||
r($kanban->importTest($kanbanIDList[4], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板5的导入功能 可选项plans cards
|
||||
system("./ztest init");
|
||||
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->importCard();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$cards1 = array('72', '73', '74');
|
||||
$cards2 = array('75', '76', '77');
|
||||
$cards3 = array('82', '83', '84');
|
||||
$cards4 = array('85', '86', '87');
|
||||
$cards5 = array('95', '96', '97');
|
||||
|
||||
$targetLaneIDList = array('1', '2', '3', '4', '5');
|
||||
$kanbanIDList = array('1', '2', '3', '4', '5');
|
||||
$regionIDList = array('1', '2', '3', '4', '5');
|
||||
$groupIDList = array('1', '2', '3', '4', '5');
|
||||
$columnIDList = array('1', '5', '9', '13', '17');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->importCardTest($kanbanIDList[0], $regionIDList[0], $groupIDList[0], $columnIDList[0], $cards1, $targetLaneIDList[0])) && p('cards') && e(',72,73,74,1,2,801,'); // 测试导入卡片72 73 74到column 1
|
||||
r($kanban->importCardTest($kanbanIDList[1], $regionIDList[1], $groupIDList[1], $columnIDList[1], $cards2, $targetLaneIDList[1])) && p('cards') && e(',75,76,77,9,10,809,'); // 测试导入卡片75 77 77到column 5
|
||||
r($kanban->importCardTest($kanbanIDList[2], $regionIDList[2], $groupIDList[2], $columnIDList[2], $cards3, $targetLaneIDList[2])) && p('cards') && e(',82,83,84,17,18,817,');// 测试导入卡片72 73 74到column 9
|
||||
r($kanban->importCardTest($kanbanIDList[3], $regionIDList[3], $groupIDList[3], $columnIDList[3], $cards4, $targetLaneIDList[3])) && p('cards') && e(',85,86,87,25,26,825,');// 测试导入卡片75 77 77到column 13
|
||||
r($kanban->importCardTest($kanbanIDList[4], $regionIDList[4], $groupIDList[4], $columnIDList[4], $cards5, $targetLaneIDList[4])) && p('cards') && e(',95,96,97,33,34,833,');// 测试导入卡片72 73 74到column 17
|
||||
system("./ztest init");
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->importObject();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$productplans = array('72', '73', '74');
|
||||
$releases = array('75', '76', '77');
|
||||
$executions = array('82', '83', '84');
|
||||
$builds = array('85', '86', '87');
|
||||
|
||||
$targetLaneIDList = array('1', '2', '3', '4', '5');
|
||||
$kanbanIDList = array('1', '2', '3', '4', '5');
|
||||
$regionIDList = array('1', '2', '3', '4', '5');
|
||||
$groupIDList = array('1', '2', '3', '4', '5');
|
||||
$columnIDList = array('1', '5', '9', '13', '17');
|
||||
|
||||
$param1 = array('productplans' => $productplans, 'targetLane' => $targetLaneIDList[0]);
|
||||
$param2 = array('releases' => $releases, 'targetLane' => $targetLaneIDList[1]);
|
||||
$param3 = array('executions' => $executions, 'targetLane' => $targetLaneIDList[2]);
|
||||
$param4 = array('builds' => $builds, 'targetLane' => $targetLaneIDList[3]);
|
||||
|
||||
$objectType = array('productplan', 'release', 'execution', 'build');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->importObjectTest($kanbanIDList[0], $regionIDList[0], $groupIDList[0], $columnIDList[0], $objectType[0], $param1)) && p('cards') && e(',1001,1002,1003,1,2,801,'); // 测试导入卡片72 73 74到column 1
|
||||
r($kanban->importObjectTest($kanbanIDList[1], $regionIDList[1], $groupIDList[1], $columnIDList[1], $objectType[1], $param2)) && p('cards') && e(',1004,1005,1006,9,10,809,'); // 测试导入卡片75 77 77到column 5
|
||||
r($kanban->importObjectTest($kanbanIDList[2], $regionIDList[2], $groupIDList[2], $columnIDList[2], $objectType[2], $param3)) && p('cards') && e(',1007,1008,1009,17,18,817,');// 测试导入卡片72 73 74到column 9
|
||||
r($kanban->importObjectTest($kanbanIDList[3], $regionIDList[3], $groupIDList[3], $columnIDList[3], $objectType[3], $param4)) && p('cards') && e(',1010,1011,1012,25,26,825,');// 测试导入卡片75 77 77到column 13
|
||||
system("./ztest init");
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->isClickable();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$objectType = array('Lane', 'Column');
|
||||
$objectID = array('1', '276', '403', '404', '405');
|
||||
|
||||
$actionList = array('sortlane', 'deletelane', 'splitcolumn', 'restorecolumn', 'archivecolumn', 'deletecolumn', 'sortColumn');
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->isClickableTest($objectType[0], $objectID[0], $actionList[0])) && p() && e('2'); // 测试lane1 是否可以排序
|
||||
r($kanban->isClickableTest($objectType[0], $objectID[0], $actionList[1])) && p() && e('2'); // 测试lane1 是否可以删除
|
||||
r($kanban->isClickableTest($objectType[0], $objectID[1], $actionList[0])) && p() && e('2'); // 测试lane276 是否可以排序
|
||||
r($kanban->isClickableTest($objectType[0], $objectID[1], $actionList[1])) && p() && e('1'); // 测试lane276 是否可以删除
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[2])) && p() && e('1'); // 测试column1 是否可以拆分子列
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[3])) && p() && e('2'); // 测试column1 是否可以还原
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[4])) && p() && e('1'); // 测试column1 是否可以归档
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[5])) && p() && e('1'); // 测试column1 是否可以删除
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[6])) && p() && e('1'); // 测试column1 是否可以排序
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[2])) && p() && e('2'); // 测试column403 是否可以拆分子列
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[3])) && p() && e('2'); // 测试column403 是否可以还原
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[4])) && p() && e('1'); // 测试column403 是否可以归档
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[5])) && p() && e('1'); // 测试column403 是否可以删除
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[6])) && p() && e('1'); // 测试column403 是否可以排序
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[2])) && p() && e('2'); // 测试column404 是否可以拆分子列
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[3])) && p() && e('2'); // 测试column404 是否可以还原
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[4])) && p() && e('1'); // 测试column404 是否可以归档
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[5])) && p() && e('1'); // 测试column404 是否可以删除
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[6])) && p() && e('1'); // 测试column404 是否可以排序
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[2])) && p() && e('2'); // 测试column405 是否可以拆分子列
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[3])) && p() && e('2'); // 测试column405 是否可以还原
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[4])) && p() && e('1'); // 测试column405 是否可以归档
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[5])) && p() && e('1'); // 测试column405 是否可以删除
|
||||
r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[6])) && p() && e('1'); // 测试column405 是否可以排序
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/kanban.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 kanbanModel->moveCard();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$cardIDList = array('1', '2', '3', '4', '5', '6');
|
||||
$columnIDList = array('1', '2', '3');
|
||||
|
||||
$laneID = 1;
|
||||
$kanbanID = 1;
|
||||
|
||||
$kanban = new kanbanTest();
|
||||
|
||||
r($kanban->moveCardTest($cardIDList[0], $columnIDList[0], $columnIDList[1], $laneID, $laneID, $kanbanID)) && p('cards') && e(',3,4,803,1,'); // 将卡片1从泳道1 列1转移到泳道1 列2
|
||||
r($kanban->moveCardTest($cardIDList[1], $columnIDList[0], $columnIDList[1], $laneID, $laneID, $kanbanID)) && p('cards') && e(',3,4,803,1,2, '); // 将卡片2从泳道1 列1转移到泳道1 列2
|
||||
r($kanban->moveCardTest($cardIDList[2], $columnIDList[1], $columnIDList[2], $laneID, $laneID, $kanbanID)) && p('cards') && e(',5,6,805,3,'); // 将卡片3从泳道1 列2转移到泳道1 列3
|
||||
r($kanban->moveCardTest($cardIDList[3], $columnIDList[1], $columnIDList[2], $laneID, $laneID, $kanbanID)) && p('cards') && e(',5,6,805,3,4,'); // 将卡片4从泳道1 列2转移到泳道1 列3
|
||||
r($kanban->moveCardTest($cardIDList[4], $columnIDList[2], $columnIDList[0], $laneID, $laneID, $kanbanID)) && p('cards') && e(',801,5,'); // 将卡片5从泳道1 列3转移到泳道1 列1
|
||||
r($kanban->moveCardTest($cardIDList[5], $columnIDList[2], $columnIDList[0], $laneID, $laneID, $kanbanID)) && p('cards') && e(',801,5,6,'); // 将卡片6从泳道1 列3转移到泳道1 列1
|
||||
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programModel::create();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
$task1 = new stdclass();
|
||||
$task1->consumed = 2;
|
||||
$task1->left = 2;
|
||||
$task1->estimate = 2;
|
||||
$task1->status = 'active';
|
||||
|
||||
$task2 = new stdclass();
|
||||
$task2->consumed = 4;
|
||||
$task2->left = 5;
|
||||
$task2->estimate = 6;
|
||||
$task2->status = 'active';
|
||||
|
||||
$task3 = new stdclass();
|
||||
$task3->consumed = 7;
|
||||
$task3->left = 7;
|
||||
$task3->estimate = 7;
|
||||
$task3->status = 'closed';
|
||||
|
||||
$tasks[] = $task1;
|
||||
$tasks[] = $task2;
|
||||
$tasks[] = $task3;
|
||||
|
||||
$projectTasks[1] = $tasks;
|
||||
|
||||
$hours = $tester->program->computeProgress($projectTasks);
|
||||
|
||||
r($hours) && p('1:totalConsumed') && e('13'); // 传入任务数组,返回计算后的总消耗
|
||||
r($hours) && p('1:totalEstimate') && e('15'); // 传入任务数组,返回计算后的总预计
|
||||
r($hours) && p('1:totalLeft') && e('7'); // 传入任务数组,返回计算后的总剩余
|
||||
r($hours) && p('1:totalReal') && e('20'); // 传入任务数组,返回计算后的总工时
|
||||
r($hours) && p('1:progress') && e('65'); // 传入任务数组,返回计算后的进度
|
||||
@@ -18,14 +18,45 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$program = new Program('admin');
|
||||
$program = new programTest();
|
||||
|
||||
$data = array(
|
||||
'parent' => 0,
|
||||
'name' => '测试新增项目集一',
|
||||
'budget' => '',
|
||||
'budgetUnit' => 'CNY',
|
||||
'begin' => '2022-01-12',
|
||||
'end' => '2022-02-12',
|
||||
'desc' => '测试项目集描述',
|
||||
'acl' => 'private',
|
||||
'whitelist' => ''
|
||||
);
|
||||
|
||||
$normalProgram = $data;
|
||||
|
||||
$emptyNameProgram = $data;
|
||||
$emptyNameProgram['name'] = '';
|
||||
|
||||
$emptyBeginProgram = $data;
|
||||
$emptyBeginProgram['begin'] = '';
|
||||
|
||||
$emptyEndProgram = $data;
|
||||
$emptyEndProgram['end'] = '';
|
||||
|
||||
$beginGtEndProgram = $data;
|
||||
$beginGtEndProgram['end'] = '2022-01-10';
|
||||
|
||||
$moreThanParent = $data;
|
||||
$moreThanParent['parent'] = '1';
|
||||
$moreThanParent['begin'] = '2018-01-01';
|
||||
$moreThanParent['end'] = '2022-02-10';
|
||||
|
||||
$add_itemset = array('1', '2', '3', '4', '5', '6');
|
||||
|
||||
r($program->createData($add_itemset[0])) && p('name') && e('测试新增项目集一'); // 创建新项目集
|
||||
r($program->createData($add_itemset[1])) && p('message[name]:0') && e('『项目集名称』不能为空。'); // 项目集名称为空时
|
||||
r($program->createData($add_itemset[2])) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 项目集的开始时间为空
|
||||
r($program->createData($add_itemset[3])) && p('message[end]:0') && e('『计划完成』不能为空。'); // 项目集的完成时间为空
|
||||
r($program->createData($add_itemset[4])) && p('message[end]:0') && e('『计划完成』应当大于『2022-01-12』。'); // 项目集的计划完成时间大于计划开始时间
|
||||
r($program->createData($add_itemset[5])) && p('message:begin;message:end') && e('父项目集的开始日期:2022-01-16,开始日期不能小于父项目集的开始日期'); // 项目集的完成日期大于父项目集的完成日期(需要实时更新日期)
|
||||
system("./ztest init");
|
||||
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,开始日期不能小于父项目集的开始日期'); // 项目集的完成日期大于父项目集的完成日期(需要实时更新日期)
|
||||
system("./ztest init");
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,9 +13,10 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$getIdName = new Program('admin');
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
$program1 = $tester->program->getById(1);
|
||||
$program2 = $tester->program->getById(1000);
|
||||
|
||||
$t_verification = array('1', '1000');
|
||||
|
||||
r($getIdName->getById($t_verification[0])) && p('name') && e('项目集1'); // 通过id字段获取id=1的项目集并验证它的name。
|
||||
r($getIdName->getById($t_verification[1])) && p('message') && e('Not Found'); // 通过id字段获取id=1000的项目集并验证它的name。
|
||||
r($program1) && p('name') && e('项目集1'); // 通过id字段获取id=1的项目集并验证它的name。
|
||||
r($program2) && p() && e('0'); // 通过id字段获取id=1000的项目集,返回空
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,9 +14,12 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$listOfId = new Program('admin');
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
$adminPrograms = $tester->program->getInvolvedPrograms('admin');
|
||||
$test2Programs = $tester->program->getInvolvedPrograms('test2');
|
||||
|
||||
$t_sulist = array('admin', 'test2');
|
||||
|
||||
r($listOfId->getInvolvedPrograms($t_sulist[0])) && p('1') && e('1'); // 查看用户admin可以看到的项目和执行id列表
|
||||
r($listOfId->getInvolvedPrograms($t_sulist[1])) && p('1') && e('1'); // 查看用户test2可以看到的项目和执行id列表
|
||||
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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,9 +13,11 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$t_getKanban = array('admin', 'my', 'others');
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
|
||||
$program = new Program($t_getKanban[0]);
|
||||
$kanbanGroup = $tester->program->getKanbanGroup();
|
||||
|
||||
r($program->getKanbanGroup()[$t_getKanban[1]]) && p('0:name') && e(''); //查看当前用户看板的所属项目
|
||||
r($program->getKanbanGroup()[$t_getKanban[2]]) && p('0:name') && e('项目集1'); //查看当前用户看板的其它项目
|
||||
r(count($kanbanGroup['my'])) && p('') && e('2'); //查看当前用户负责的项目集看板数量
|
||||
r(count($kanbanGroup['others'])) && p('') && e('8'); //查看当前用户其他的项目集看板数量
|
||||
r($kanbanGroup['others']) && p('0:name') && e('项目集2'); //查看当前用户其他的项目集看板详情
|
||||
|
||||
@@ -17,14 +17,21 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$program = new Program('admin');
|
||||
global $tester;
|
||||
$program = new programTest();
|
||||
$tester->app->loadClass('pager', $static = true);
|
||||
$pager = new pager(0, 10, 1);
|
||||
|
||||
$t_checkout = array('all', 'wait', 'doing', 'suspended', 'closed', 'name_desc', 'id_asc');
|
||||
$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');
|
||||
|
||||
r($program->getListByStatus($t_checkout[0])) && p() && e('100'); // 查看所有项目和项目集的个数
|
||||
r($program->getListByStatus($t_checkout[1])) && p() && e('34'); // 查看所有'wait'的项目和项目集的个数
|
||||
r($program->getListByStatus($t_checkout[2])) && p() && e('44'); // 查看所有'doing'的项目和项目集的个数
|
||||
r($program->getListByStatus($t_checkout[3])) && p() && e('11'); // 查看所有'suspended'的项目和项目集的个数
|
||||
r($program->getListByStatus($t_checkout[4])) && p() && e('11'); // 查看所有'closed'的项目和项目集的个数
|
||||
r($program->getListByOrder($t_checkout[5])) && p() && e(1); // 按照项目和项目集名称倒序获取项目列表
|
||||
r($program->getListByOrder($t_checkout[6])) && p() && e(1); // 按照ID正序获取项目和项目集列表
|
||||
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
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
|
||||
/**
|
||||
|
||||
@@ -15,9 +14,12 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$noItemsets = new Program('admin');
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
$programs1 = $tester->program->getPairs();
|
||||
$programs2 = $tester->program->getPairs('true');
|
||||
|
||||
r($noItemsets->getCount()) && p() && e('10'); // 获取项目集个数
|
||||
r($noItemsets->getPairs()) && p('1') && e('项目集1'); // 获取项目集id/name 的关联数组
|
||||
r($noItemsets->getPairs()) && p('9') && e('项目集9'); // 获取项目集id/name 的关联数组
|
||||
r($noItemsets->getPairs()) && p('11') && e(''); // 获取不存在的项目集id/name 的关联数组
|
||||
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(''); // 获取不存在的项目集
|
||||
|
||||
@@ -19,14 +19,14 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$itemsetsName = new Program('admin');
|
||||
$program = new programTest();
|
||||
|
||||
$t_getProName = array('1', '1,2,3', array(1), array(1,2,3), '', '0', '11');
|
||||
$programIdList = array('1', '1,2,3', array(1), array(1,2,3), '', '0', '11');
|
||||
|
||||
r($itemsetsName->getPairsByList($t_getProName[0])) && p('1') && e('项目集1'); // 通过字符串'1'获取项目集名称
|
||||
r($itemsetsName->getPairsByList($t_getProName[1])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); // 通过字符串'1,2,3'获取项目集名称
|
||||
r($itemsetsName->getPairsByList($t_getProName[2])) && p('1') && e('项目集1'); //通过数组array(1)获取项目集名称
|
||||
r($itemsetsName->getPairsByList($t_getProName[3])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); //通过数组array(1,2,3)获取项目集名称
|
||||
r($itemsetsName->getPairsByList($t_getProName[4])) && p('message') && e('Not Found'); // 通过id为空获取项目集名称
|
||||
r($itemsetsName->getPairsByList($t_getProName[5])) && p('message') && e('Not Found'); // 通过id=0获取项目集名称
|
||||
r($itemsetsName->getPairsByList($t_getProName[6])) && p('message') && e('Not Found'); // 通过id=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获取项目集名称
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,13 +17,14 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$getItemsets = new Program('admin');
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
|
||||
$t_program = array('1', '1000', 'all', 'all', '1', 'assign', 'all', '1', 'assign', 'noclosed');
|
||||
$products1 = $tester->program->getProductPairs(1, 'assign', 'all');
|
||||
$products2 = $tester->program->getProductPairs(1, 'assign', 'noclosed');
|
||||
|
||||
r($getItemsets->getProductPairsByID($t_program[0])) && p('24') && e('已关闭的正常产品24'); //根据项目或项目集ID获取关联产品详情
|
||||
r($getItemsets->getProductPairsByID($t_program[1])) && p('message') && e('Not Found'); //获取不存在的项目或项目集
|
||||
r($getItemsets->getProductPairsByMod($t_program[2])) && p('1') && e('正常产品1'); //根据项目或项目集指派情况获取关联产品详情
|
||||
r($getItemsets->getProductPairsByStatus($t_program[3])) && p('90') && e('多平台产品90'); //根据项目或项目集状态获取关联产品详情
|
||||
r($getItemsets->getCount2($t_program[4], $t_program[5], $t_program[6])) && p() && e('9'); //查看ID=1,有指派,所有状态的关联产品数量
|
||||
r($getItemsets->getCount2($t_program[7], $t_program[8], $t_program[9])) && p() && e('5'); //查看ID=1,有指派,未关闭的关联产品数量
|
||||
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获取关联产品详情
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,24 +9,20 @@ title=测试 programModel::getProjectList();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
查看当前项目集下所有项目的个数 >> 90
|
||||
查看当前项目集下所有状态为进行中的项目的个数 >> 44
|
||||
根据name倒序查看所有项目 >> 1
|
||||
根据id倒序查看所有项目的个数 >> 1
|
||||
查看所有项目(包含所属项目集名称) >> 项目1
|
||||
查看当前用户参与的项目 >> 项目1
|
||||
查看当前用户参与的项目的个数 >> 1
|
||||
|
||||
*/
|
||||
|
||||
$countProjects = new Program('admin');
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
|
||||
$t_proNumber = array(0, 'doing', 'name_desc', 'id_desc', 0, 1, 1, 'count');
|
||||
$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);
|
||||
|
||||
r($countProjects->getListByProgramID($t_proNumber[0])) && p() && e('90'); // 查看当前项目集下所有项目的个数
|
||||
r($countProjects->getListByStatusNo($t_proNumber[1])) && p() && e('44'); // 查看当前项目集下所有状态为进行中的项目的个数
|
||||
r($countProjects->getListByOrderId($t_proNumber[2])) && p() && e('1'); // 根据name倒序查看所有项目
|
||||
r($countProjects->getListByOrderId($t_proNumber[3])) && p() && e('1'); // 根据id倒序查看所有项目的个数
|
||||
r($countProjects->getListAddProgramTitle($t_proNumber[4])) && p('11:name') && e('项目1'); // 查看所有项目(包含所属项目集名称)
|
||||
r($countProjects->getListByInvolved($t_proNumber[5])) && p('11:name') && e('项目1'); // 查看当前用户参与的项目
|
||||
r($countProjects->getListByInvolved($t_proNumber[6], $t_proNumber[7])) && p() && e('1'); // 查看当前用户参与的项目的个数
|
||||
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'); // 我参与的项目的名称
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,12 +16,12 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$program = new Program('admin');
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
$stakeholders1 = $tester->program->getStakeholders(2, 'id_desc');
|
||||
$stakeholders2 = $tester->program->getStakeholders(2, 'id_asc');
|
||||
|
||||
$t_Stakeholder = array(2, 'id_desc', 'id_asc', 2);
|
||||
|
||||
//var_dump($program->getByID1($t_Stakeholder[0]));die;
|
||||
r($program->getByID1($t_Stakeholder[0])) && p('0:realname') && e('测试17'); // 查看项目集2的干系人信息
|
||||
r($program->getByOrder($t_Stakeholder[1])) && p() && e('1'); // 根据干系人id倒序排序
|
||||
r($program->getByOrder($t_Stakeholder[2])) && p() && e('1'); // 根据干系人id正序排序
|
||||
r($program->getCount5($t_Stakeholder[3])) && p() && e('3'); // 查看项目集2的干系人个数
|
||||
r(count($stakeholders1)) && p() && e('3'); // 获取干系人数量
|
||||
r(count($stakeholders2)) && p() && e('3'); // 获取干系人数量
|
||||
r($stakeholders1) && p('0:realname') && e('测试17'); // id倒序排,获取第一个干系人真实姓名
|
||||
r($stakeholders2) && p('0:realname') && e('测试19'); // id正序排,获取第一个干系人真实姓名
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/program.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
@@ -20,15 +20,14 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$t = new Program('admin');
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
|
||||
$Stakeholder = array('2', '2,3', '2', '2,3');
|
||||
|
||||
r($t->getByPrograms($Stakeholder[0])) && p('0:account') && e('user19'); // 获取项目集2的干系人名单
|
||||
r($t->getByPrograms($Stakeholder[0])) && p('1:account') && e('user18'); // 获取项目集2的干系人名单
|
||||
r($t->getByPrograms($Stakeholder[0])) && p('2:account') && e('user17'); // 获取项目集2的干系人名单
|
||||
r($t->getByPrograms($Stakeholder[1])) && p('0:account') && e('user19'); // 获取项目集2和项目集3的干系人名单
|
||||
r($t->getByPrograms($Stakeholder[1])) && p('1:account') && e('user18'); // 获取项目集2和项目集3的干系人名单
|
||||
r($t->getByPrograms($Stakeholder[1])) && p('2:account') && e('user17'); // 获取项目集2和项目集3的干系人名单...
|
||||
r($t->getCount4($Stakeholder[2])) && p() && e('3'); // 获取项目集2的干系人个数
|
||||
r($t->getCount4($Stakeholder[3])) && p() && e('6'); // 获取项目集2和项目集3的干系人个数
|
||||
r($tester->program->getStakeholdersByPrograms('2')) && p('0:account') && e('user19'); // 获取项目集2的干系人名单
|
||||
r($tester->program->getStakeholdersByPrograms('2')) && p('1:account') && e('user18'); // 获取项目集2的干系人名单
|
||||
r($tester->program->getStakeholdersByPrograms('2')) && p('2:account') && e('user17'); // 获取项目集2的干系人名单
|
||||
r($tester->program->getStakeholdersByPrograms('2,3')) && p('0:account') && e('user19'); // 获取项目集2和项目集3的干系人名单
|
||||
r($tester->program->getStakeholdersByPrograms('2,3')) && p('1:account') && e('user18'); // 获取项目集2和项目集3的干系人名单
|
||||
r($tester->program->getStakeholdersByPrograms('2,3')) && p('2:account') && e('user17'); // 获取项目集2和项目集3的干系人名单
|
||||
r(count($tester->program->getStakeholdersByPrograms('2'))) && p('') && e('3'); // 获取项目集2的干系人个数
|
||||
r(count($tester->program->getStakeholdersByPrograms('2,3'))) && p('') && e('6'); // 获取项目集2、3的干系人个数
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
@@ -47,4 +48,4 @@ r($afterActivate63) && p('status') && e('active'); //查看激活之后的需
|
||||
r($afterActivate100) && p('status') && e('active'); //查看激活之后的需求状态
|
||||
r($afterActivate301) && p('status') && e('active'); //查看激活之后的需求状态
|
||||
|
||||
system("./ztest init");
|
||||
system("./ztest init");
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
@@ -47,4 +48,4 @@ r($result1[0]) && p() && e('『由谁评审』不能为
|
||||
r($result2) && p('fromBug,stage,product') && e('0,projected,1'); //不勾选由谁评审传入评审人的情况,正常插入
|
||||
r($result3) && p('title,fromBug,stage') && e('测试需求3,2,wait'); //勾选由谁评审,不传入executionID的情况,阶段为wait
|
||||
r($result4) && p('title:0') && e('『研发需求名称』不能为空。'); //勾选由谁评审,传入executionID和fromBug的情况,阶段为projected
|
||||
system("./ztest init");
|
||||
system("./ztest init");
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 storyModel->getByReviewBy();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
$story = new storyTest();
|
||||
|
||||
r() && p() && e();
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
@@ -14,9 +15,11 @@ pid=1
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('story');
|
||||
$tester->loadModel('report');
|
||||
|
||||
$data = $tester->story->getDataOfStorysPerClosedReason();
|
||||
|
||||
r(count($data)) && p() && e('3'); // 按照需求关闭原因分组,获取分组后的需求数量
|
||||
r($data) && p('1:name,value') && e('1,80'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看admin下的数据
|
||||
r($data) && p('2:name,value') && e('0,350'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看admin下的数据
|
||||
r(count($data)) && p() && e('8'); // 按照需求关闭原因分组,获取分组后的需求数量
|
||||
r($data) && p('willnotdo:name,value') && e('不做,12'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看willnotdo的数据
|
||||
r($data) && p('bydesign:name,value') && e('设计如此,12'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看bydesign的数据
|
||||
r($data) && p('cancel:name,value') && e('已取消,11'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看cancel的数据
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
@@ -13,6 +13,8 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$story = new storyTest();
|
||||
global $tester;
|
||||
$tester->loadModel('story');
|
||||
$storyInfo = $tester->story->getEstimateInfo(2);
|
||||
|
||||
r() && p() && e();
|
||||
r() && p() && e();
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 storyModel->getRelation();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
$story = new storyTest();
|
||||
|
||||
r() && p() && e();
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
@@ -13,6 +13,11 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$story = new storyTest();
|
||||
global $tester;
|
||||
$relations1 = $tester->loadModel('story')->getStoryRelation(25, 'requirement');
|
||||
$relations2 = $tester->story->getStoryRelation(26, 'story');
|
||||
|
||||
r() && p() && e();
|
||||
r(count($relations1)) && p() && e('1'); // 获取用户需求25关联的软件需求数量
|
||||
r(count($relations2)) && p() && e('1'); // 获取软件需求26关联的用户需求数量
|
||||
r($relations1[0]) && p('title,type,status') && e('软件需求26,story,active'); // 获取用户需求25关联的软件需求详情
|
||||
r($relations2[0]) && p('title,type,status') && e('用户需求25,requirement,draft'); // 获取软件需求26关联的用户需求详情
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user