* Unit test of the getlist method of action module.
This commit is contained in:
+31
-29
@@ -298,12 +298,12 @@ class actionModel extends model
|
||||
/**
|
||||
* Get actions of an object.
|
||||
*
|
||||
* @param int $objectType
|
||||
* @param string $objectType
|
||||
* @param int $objectID
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getList($objectType, $objectID)
|
||||
public function getList(string $objectType, int $objectID): array
|
||||
{
|
||||
$objectID = is_array($objectID) ? $objectID : (int)$objectID;
|
||||
$modules = $objectType == 'module' ? $this->dao->select('id')->from(TABLE_MODULE)->where('root')->in($objectID)->fetchPairs('id') : array();
|
||||
@@ -334,32 +334,29 @@ class actionModel extends model
|
||||
->fetchAll('id');
|
||||
|
||||
$histories = $this->getHistory(array_keys($actions));
|
||||
$this->loadModel('file');
|
||||
|
||||
if($objectType == 'project')
|
||||
{
|
||||
$this->app->loadLang('build');
|
||||
$this->app->loadLang('testtask');
|
||||
$actions = $this->processProjectActions($actions);
|
||||
}
|
||||
|
||||
foreach($actions as $actionID => $action)
|
||||
{
|
||||
$actionName = strtolower($action->action);
|
||||
if($actionName == 'svncommited' and isset($commiters[$action->actor]))
|
||||
if($actionName == 'svncommited' && isset($commiters[$action->actor]))
|
||||
{
|
||||
$action->actor = $commiters[$action->actor];
|
||||
}
|
||||
elseif($actionName == 'gitcommited' and isset($commiters[$action->actor]))
|
||||
elseif($actionName == 'gitcommited' && isset($commiters[$action->actor]))
|
||||
{
|
||||
$action->actor = $commiters[$action->actor];
|
||||
}
|
||||
elseif($actionName == 'linked2execution' or $actionName == 'linked2kanban')
|
||||
elseif($actionName == 'linked2execution' || $actionName == 'linked2kanban')
|
||||
{
|
||||
$execution = $this->dao->select('name,type,multiple')->from(TABLE_PROJECT)->where('id')->eq($action->extra)->fetch();
|
||||
if(!empty($execution))
|
||||
{
|
||||
if($execution->type != 'project' and empty($execution->multiple))
|
||||
if($execution->type != 'project' && empty($execution->multiple))
|
||||
{
|
||||
unset($actions[$actionID]);
|
||||
continue;
|
||||
@@ -367,7 +364,7 @@ class actionModel extends model
|
||||
|
||||
$name = $execution->name;
|
||||
$method = $execution->type == 'kanban' ? 'kanban' : 'view';
|
||||
$action->extra = (!common::hasPriv('execution', $method) or ($method == 'kanban' and isonlybody())) ? $name : html::a(helper::createLink('execution', $method, "executionID=$action->execution"), $name, '', "data-app='execution'");
|
||||
$action->extra = (!common::hasPriv('execution', $method) || ($method == 'kanban' && isonlybody())) ? $name : html::a(helper::createLink('execution', $method, "executionID=$action->execution"), $name, '', "data-app='execution'");
|
||||
}
|
||||
}
|
||||
elseif($actionName == 'linked2project')
|
||||
@@ -403,7 +400,7 @@ class actionModel extends model
|
||||
$name = $this->dao->select('name')->from(TABLE_TESTTASK)->where('id')->eq($action->extra)->fetch('name');
|
||||
if($name) $action->extra = common::hasPriv('testtask', 'view') ? html::a(helper::createLink('testtask', 'view', "taskID=$action->extra"), $name) : $name;
|
||||
}
|
||||
elseif($actionName == 'linked2revision' or $actionName == 'unlinkedfromrevision')
|
||||
elseif($actionName == 'linked2revision' || $actionName == 'unlinkedfromrevision')
|
||||
{
|
||||
$commit = $this->dao->select('repo,revision')->from(TABLE_REPOHISTORY)->where('id')->eq($action->extra)->fetch();
|
||||
if($commit)
|
||||
@@ -412,12 +409,12 @@ class actionModel extends model
|
||||
$action->extra = common::hasPriv('repo', 'revision') ? html::a(helper::createLink('repo', 'revision', "repoID=$commit->repo&objectID=0&revision=$commit->revision"), $revision) : $revision;
|
||||
}
|
||||
}
|
||||
elseif($actionName == 'moved' and $action->objectType != 'module')
|
||||
elseif($actionName == 'moved' && $action->objectType != 'module')
|
||||
{
|
||||
$name = $this->dao->select('name')->from(TABLE_PROJECT)->where('id')->eq($action->extra)->fetch('name');
|
||||
if($name) $action->extra = common::hasPriv('execution', 'task') ? html::a(helper::createLink('execution', 'task', "executionID=$action->extra"), "#$action->extra " . $name) : "#$action->extra " . $name;
|
||||
}
|
||||
elseif($actionName == 'frombug' and common::hasPriv('bug', 'view'))
|
||||
elseif($actionName == 'frombug' && common::hasPriv('bug', 'view'))
|
||||
{
|
||||
$action->extra = html::a(helper::createLink('bug', 'view', "bugID=$action->extra"), $action->extra);
|
||||
}
|
||||
@@ -452,7 +449,7 @@ class actionModel extends model
|
||||
$name = $this->dao->select('name')->from(TABLE_TESTTASK)->where('id')->eq($action->extra)->fetch('name');
|
||||
if($name) $action->extra = common::hasPriv('testtask', 'view') ? html::a(helper::createLink('testtask', 'view', "taskID=$action->extra"), $name) : $name;
|
||||
}
|
||||
elseif(strpos('feedback,ticket', $action->objectType) === false and $actionName == 'tostory')
|
||||
elseif(strpos('feedback,ticket', $action->objectType) === false && $actionName == 'tostory')
|
||||
{
|
||||
$productShadow = $this->dao->select('shadow')->from(TABLE_PRODUCT)->where('id')->in(trim($action->product, ','))->fetch('shadow');
|
||||
$title = $this->dao->select('title')->from(TABLE_STORY)->where('id')->eq($action->extra)->fetch('title');
|
||||
@@ -460,7 +457,7 @@ class actionModel extends model
|
||||
if($productShadow)
|
||||
{
|
||||
$projectID = $this->dao->select('project')->from(TABLE_PROJECTSTORY)->where('story')->eq($action->extra)->fetch('project');
|
||||
if($title) $action->extra = (common::hasPriv('projectstory', 'view') and $projectID) ? html::a(helper::createLink('projectstory', 'view', "storyID={$action->extra}&projectID=$projectID"), $defaultExtra) : $defaultExtra;
|
||||
if($title) $action->extra = (common::hasPriv('projectstory', 'view') && $projectID) ? html::a(helper::createLink('projectstory', 'view', "storyID={$action->extra}&projectID=$projectID"), $defaultExtra) : $defaultExtra;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -470,7 +467,7 @@ class actionModel extends model
|
||||
elseif($actionName == 'importedcard')
|
||||
{
|
||||
$title = $this->dao->select('name')->from(TABLE_KANBAN)->where('id')->eq($action->extra)->fetch('name');
|
||||
if($title) $action->extra = (common::hasPriv('kanban', 'view') and !isonlybody()) ? html::a(helper::createLink('kanban', 'view', "kanbanID=$action->extra"), "#$action->extra " . $title) : "#$action->extra " . $title;
|
||||
if($title) $action->extra = (common::hasPriv('kanban', 'view') && !isonlybody()) ? html::a(helper::createLink('kanban', 'view', "kanbanID=$action->extra"), "#$action->extra " . $title) : "#$action->extra " . $title;
|
||||
}
|
||||
elseif($actionName == 'createchildren')
|
||||
{
|
||||
@@ -482,7 +479,9 @@ class actionModel extends model
|
||||
}
|
||||
$action->extra = trim(trim($action->extra), ',');
|
||||
}
|
||||
/* Code for waterfall. */
|
||||
|
||||
/* 瀑布模型相关的代码。 */
|
||||
/* Code for wataerfall mode. */
|
||||
elseif($actionName == 'createrequirements')
|
||||
{
|
||||
$names = $this->dao->select('id,title')->from(TABLE_STORY)->where('id')->in($action->extra)->fetchPairs('id', 'title');
|
||||
@@ -493,12 +492,12 @@ class actionModel extends model
|
||||
}
|
||||
$action->extra = trim(trim($action->extra), ',');
|
||||
}
|
||||
elseif($action->objectType != 'feedback' and (strpos(',totask,linkchildtask,unlinkchildrentask,linkparenttask,unlinkparenttask,deletechildrentask,', ",$actionName,") !== false))
|
||||
elseif($action->objectType != 'feedback' && (strpos(',totask,linkchildtask,unlinkchildrentask,linkparenttask,unlinkparenttask,deletechildrentask,', ",$actionName,") !== false))
|
||||
{
|
||||
$name = $this->dao->select('name')->from(TABLE_TASK)->where('id')->eq($action->extra)->fetch('name');
|
||||
if($name) $action->extra = common::hasPriv('task', 'view') ? html::a(helper::createLink('task', 'view', "taskID=$action->extra"), "#$action->extra " . $name) : "#$action->extra " . $name;
|
||||
}
|
||||
elseif($actionName == 'linkchildstory' or $actionName == 'unlinkchildrenstory' or $actionName == 'linkparentstory' or $actionName == 'unlinkparentstory' or $actionName == 'deletechildrenstory')
|
||||
elseif($actionName == 'linkchildstory' || $actionName == 'unlinkchildrenstory' || $actionName == 'linkparentstory' || $actionName == 'unlinkparentstory' || $actionName == 'deletechildrenstory')
|
||||
{
|
||||
$name = $this->dao->select('title')->from(TABLE_STORY)->where('id')->eq($action->extra)->fetch('title');
|
||||
if($name) $action->extra = common::hasPriv('story', 'view') ? html::a(helper::createLink('story', 'view', "storyID=$action->extra"), "#$action->extra " . $name) : "#$action->extra " . $name;
|
||||
@@ -508,22 +507,22 @@ class actionModel extends model
|
||||
$name = $this->dao->select('name')->from(TABLE_BUILD)->where('id')->eq($action->objectID)->fetch('name');
|
||||
if($name) $action->extra = common::hasPriv('build', 'view') ? html::a(helper::createLink('build', 'view', "buildID=$action->objectID"), "#$action->objectID " . $name) : "#$action->objectID " . $name;
|
||||
}
|
||||
elseif($actionName == 'testtaskopened' or $actionName == 'testtaskstarted' or $actionName == 'testtaskclosed')
|
||||
elseif($actionName == 'testtaskopened' || $actionName == 'testtaskstarted' || $actionName == 'testtaskclosed')
|
||||
{
|
||||
$name = $this->dao->select('name')->from(TABLE_TESTTASK)->where('id')->eq($action->objectID)->fetch('name');
|
||||
if($name) $action->extra = common::hasPriv('testtask', 'view') ? html::a(helper::createLink('testtask', 'view', "testtaskID=$action->objectID"), "#$action->objectID " . $name) : "#$action->objectID " . $name;
|
||||
}
|
||||
elseif($actionName == 'fromlib' and $action->objectType == 'case')
|
||||
elseif($actionName == 'fromlib' && $action->objectType == 'case')
|
||||
{
|
||||
$name = $this->dao->select('name')->from(TABLE_TESTSUITE)->where('id')->eq($action->extra)->fetch('name');
|
||||
if($name) $action->extra = common::hasPriv('caselib', 'browse') ? html::a(helper::createLink('caselib', 'browse', "libID=$action->extra"), $name) : $name;
|
||||
}
|
||||
elseif(strpos(',importfromstorylib,importfromrisklib,importfromissuelib,importfromopportunitylib,', ",{$actionName},") !== false and $this->config->edition == 'max')
|
||||
elseif(strpos(',importfromstorylib,importfromrisklib,importfromissuelib,importfromopportunitylib,', ",{$actionName},") !== false && $this->config->edition == 'max')
|
||||
{
|
||||
$name = $this->dao->select('name')->from(TABLE_ASSETLIB)->where('id')->eq($action->extra)->fetch('name');
|
||||
if($name) $action->extra = common::hasPriv('assetlib', $action->objectType) ? html::a(helper::createLink('assetlib', $action->objectType, "libID=$action->extra"), $name) : $name;
|
||||
}
|
||||
elseif(($actionName == 'closed' and $action->objectType == 'story') or ($actionName == 'resolved' and $action->objectType == 'bug'))
|
||||
elseif(($actionName == 'closed' && $action->objectType == 'story') || ($actionName == 'resolved' && $action->objectType == 'bug'))
|
||||
{
|
||||
$action->appendLink = '';
|
||||
if(strpos($action->extra, '|') !== false) $action->extra = substr($action->extra, 0, strpos($action->extra, '|'));
|
||||
@@ -539,7 +538,7 @@ class actionModel extends model
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif($actionName == 'finished' and $objectType == 'todo')
|
||||
elseif($actionName == 'finished' && $objectType == 'todo')
|
||||
{
|
||||
$action->appendLink = '';
|
||||
if(strpos($action->extra, ':')!== false)
|
||||
@@ -555,12 +554,12 @@ class actionModel extends model
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(($actionName == 'opened' or $actionName == 'managed' or $actionName == 'edited') and ($objectType == 'execution' || $objectType == 'project'))
|
||||
elseif(($actionName == 'opened' || $actionName == 'managed' || $actionName == 'edited') && ($objectType == 'execution' || $objectType == 'project'))
|
||||
{
|
||||
$this->app->loadLang('execution');
|
||||
$linkedProducts = $this->dao->select('id,name')->from(TABLE_PRODUCT)->where('id')->in($action->extra)->fetchPairs('id', 'name');
|
||||
$action->extra = '';
|
||||
if($linkedProducts and $this->config->vision == 'rnd')
|
||||
if($linkedProducts && $this->config->vision == 'rnd')
|
||||
{
|
||||
foreach($linkedProducts as $productID => $productName) $linkedProducts[$productID] = html::a(helper::createLink('product', 'browse', "productID=$productID"), "#{$productID} {$productName}");
|
||||
$action->extra = sprintf($this->lang->execution->action->extra, '<strong>' . join(', ', $linkedProducts) . '</strong>');
|
||||
@@ -595,7 +594,8 @@ class actionModel extends model
|
||||
foreach(explode(',', $action->extra) as $id) $extra .= common::hasPriv('bug', 'view') ? html::a(helper::createLink('bug', 'view', "bugID=$id"), "#$id ") . ', ' : "#$id, ";
|
||||
$action->extra = trim(trim($extra), ',');
|
||||
}
|
||||
|
||||
|
||||
$this->loadModel('file');
|
||||
$action->comment = $this->file->setImgSize($action->comment, $this->config->action->commonImgSize);
|
||||
|
||||
$actions[$actionID] = $action;
|
||||
@@ -611,8 +611,9 @@ class actionModel extends model
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function processProjectActions($actions)
|
||||
public function processProjectActions(array $actions): array
|
||||
{
|
||||
/* 定义行动映射表。 */
|
||||
/* Define the action map table. */
|
||||
$map = array();
|
||||
$map['testtask']['opened'] = 'testtaskopened';
|
||||
@@ -620,7 +621,8 @@ class actionModel extends model
|
||||
$map['testtask']['closed'] = 'testtaskclosed';
|
||||
$map['build']['opened'] = 'buildopened';
|
||||
|
||||
/* Process actions. */
|
||||
/* 处理action数据。 */
|
||||
/* Process actions data. */
|
||||
foreach($actions as $key => $action)
|
||||
{
|
||||
if($action->objectType != 'project' and !isset($map[$action->objectType][$action->action])) unset($actions[$key]);
|
||||
|
||||
@@ -4,52 +4,53 @@ include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/action.class.php';
|
||||
su('admin');
|
||||
|
||||
zdTable('action')->gen(45);
|
||||
|
||||
/**
|
||||
|
||||
title=测试 actionModel->getList();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取objectType product objectId 1的动态信息 >> 1,admin,1
|
||||
测试获取objectType story objectId 2的动态信息 >> 2,dev17,1
|
||||
测试获取objectType productplan objectId 3的动态信息 >> 3,test18,1
|
||||
测试获取objectType release objectId 4的动态信息 >> 4,admin,1
|
||||
测试获取objectType project objectId 5的动态信息 >> 5,dev17,11
|
||||
测试获取objectType task objectId 6的动态信息 >> 6,test18,1
|
||||
测试获取objectType build objectId 7的动态信息 >> 7,admin,1
|
||||
测试获取objectType bug objectId 8的动态信息 >> 8,dev17,1
|
||||
测试获取objectType testcase objectId 9的动态信息 >> 9,test18,2
|
||||
测试获取objectType case objectId 10的动态信息 >> 10,admin,1
|
||||
测试获取objectType testtask objectId 11的动态信息 >> 11,dev17,1
|
||||
测试获取objectType user objectId 12的动态信息 >> 12,test18,1
|
||||
测试获取objectType doc objectId 13的动态信息 >> 13,admin,1
|
||||
测试获取objectType doclib objectId 14的动态信息 >> 14,dev17,1
|
||||
测试获取objectType todo objectId 15的动态信息 >> 15,test18,1
|
||||
测试获取objectType branch objectId 16的动态信息 >> 16,admin,1
|
||||
测试获取objectType module objectId 17的动态信息 >> 17,dev17,1
|
||||
测试获取objectType testsuite objectId 18的动态信息 >> 18,test18,a
|
||||
测试获取objectType caselib objectId 19的动态信息 >> 19,admin,1
|
||||
测试获取objectType testreport objectId 20的动态信息 >> 20,dev17,1
|
||||
测试获取objectType entry objectId 21的动态信息 >> 21,test18,1
|
||||
测试获取objectType webhook objectId 22的动态信息 >> 22,admin,a
|
||||
测试获取objectType review objectId 23的动态信息 >> 23,dev17,1
|
||||
测试获取objectType product objectId 24的动态信息 >> 24,test18,1
|
||||
测试获取objectType story objectId 25的动态信息 >> 25,admin,1
|
||||
测试获取objectType product objectId 1的动态信息 >> 1,admin,1
|
||||
测试获取objectType story objectId 2的动态信息 >> 2,dev17,1
|
||||
测试获取objectType productplan objectId 3的动态信息 >> 3,test18,1
|
||||
测试获取objectType release objectId 4的动态信息 >> 4,admin,1
|
||||
测试获取objectType project objectId 5的动态信息 >> 5,dev17,11
|
||||
测试获取objectType task objectId 6的动态信息 >> 6,test18,1
|
||||
测试获取objectType build objectId 7的动态信息 >> 7,admin,1
|
||||
测试获取objectType bug objectId 8的动态信息 >> 8,dev17,1
|
||||
测试获取objectType testcase objectId 9的动态信息 >> 9,test18,2
|
||||
测试获取objectType case objectId 10的动态信息 >> 10,admin,1
|
||||
测试获取objectType testtask objectId 11的动态信息 >> 11,dev17,1
|
||||
测试获取objectType user objectId 12的动态信息 >> 12,test18,1
|
||||
测试获取objectType doc objectId 13的动态信息 >> 13,admin,1
|
||||
测试获取objectType doclib objectId 14的动态信息 >> 14,dev17,1
|
||||
测试获取objectType todo objectId 15的动态信息 >> 15,test18,1
|
||||
测试获取objectType branch objectId 16的动态信息 >> 16,admin,1
|
||||
测试获取objectType module objectId 17的动态信息 >> 17,dev17,1
|
||||
测试获取objectType testsuite objectId 18的动态信息 >> 18,test18,a
|
||||
测试获取objectType caselib objectId 19的动态信息 >> 19,admin,1
|
||||
测试获取objectType testreport objectId 20的动态信息 >> 20,dev17,1
|
||||
测试获取objectType entry objectId 21的动态信息 >> 21,test18,1
|
||||
测试获取objectType webhook objectId 22的动态信息 >> 22,admin,a
|
||||
测试获取objectType review objectId 23的动态信息 >> 23,dev17,1
|
||||
测试获取objectType product objectId 24的动态信息 >> 24,test18,1
|
||||
测试获取objectType story objectId 25的动态信息 >> 25,admin,1
|
||||
测试获取objectType productplan objectId 26的动态信息 >> 26,dev17,1
|
||||
测试获取objectType release objectId 27的动态信息 >> 27,test18,1
|
||||
测试获取objectType project objectId 28的动态信息 >> 28,admin,33
|
||||
测试获取objectType task objectId 29的动态信息 >> 29,dev17,1
|
||||
测试获取objectType build objectId 30的动态信息 >> 30,test18,1
|
||||
测试获取objectType bug objectId 31的动态信息 >> 31,admin,1
|
||||
测试获取objectType testcase objectId 32的动态信息 >> 32,项目经理17,1
|
||||
测试获取objectType case objectId 33的动态信息 >> 33,test18,1
|
||||
测试获取objectType testtask objectId 34的动态信息 >> 34,admin,1
|
||||
测试获取objectType user objectId 35的动态信息 >> 35,dev17,1
|
||||
测试获取objectType doc objectId 36的动态信息 >> 36,test18,1
|
||||
测试获取objectType doclib objectId 37的动态信息 >> 37,admin,1
|
||||
测试获取objectType todo objectId 38的动态信息 >> 38,dev17,1
|
||||
测试获取objectType branch objectId 39的动态信息 >> 39,test18,a
|
||||
|
||||
测试获取objectType release objectId 27的动态信息 >> 27,test18,1
|
||||
测试获取objectType project objectId 28的动态信息 >> 28,admin,33
|
||||
测试获取objectType task objectId 29的动态信息 >> 29,dev17,1
|
||||
测试获取objectType build objectId 30的动态信息 >> 30,test18,1
|
||||
测试获取objectType bug objectId 31的动态信息 >> 31,admin,1
|
||||
测试获取objectType testcase objectId 32的动态信息 >> 32,项目经理17,1
|
||||
测试获取objectType case objectId 33的动态信息 >> 33,test18,1
|
||||
测试获取objectType testtask objectId 34的动态信息 >> 34,admin,1
|
||||
测试获取objectType user objectId 35的动态信息 >> 35,dev17,1
|
||||
测试获取objectType doc objectId 36的动态信息 >> 36,test18,1
|
||||
测试获取objectType doclib objectId 37的动态信息 >> 37,admin,1
|
||||
测试获取objectType todo objectId 38的动态信息 >> 38,dev17,1
|
||||
测试获取objectType branch objectId 39的动态信息 >> 39,test18,a
|
||||
*/
|
||||
|
||||
$objectType = array('product', 'story', 'productplan', 'release', 'project', 'task', 'build', 'bug', 'testcase', 'case', 'testtask', 'user', 'doc', 'doclib', 'todo', 'branch', 'module', 'testsuite', 'caselib', 'testreport', 'entry', 'webhook', 'review');
|
||||
@@ -57,42 +58,42 @@ $objectId = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,
|
||||
|
||||
$action = new actionTest();
|
||||
|
||||
r($action->getListTest($objectType[0], $objectId[0])) && p('id,actor,extra') && e("1,admin,1"); // 测试获取objectType product objectId 1的动态信息
|
||||
r($action->getListTest($objectType[1], $objectId[1])) && p('id,actor,extra') && e("2,dev17,1"); // 测试获取objectType story objectId 2的动态信息
|
||||
r($action->getListTest($objectType[2], $objectId[2])) && p('id,actor,extra') && e("3,test18,1"); // 测试获取objectType productplan objectId 3的动态信息
|
||||
r($action->getListTest($objectType[3], $objectId[3])) && p('id,actor,extra') && e("4,admin,1"); // 测试获取objectType release objectId 4的动态信息
|
||||
r($action->getListTest($objectType[4], $objectId[4])) && p('id,actor,extra') && e("5,dev17,11"); // 测试获取objectType project objectId 5的动态信息
|
||||
r($action->getListTest($objectType[5], $objectId[5])) && p('id,actor,extra') && e("6,test18,1"); // 测试获取objectType task objectId 6的动态信息
|
||||
r($action->getListTest($objectType[6], $objectId[6])) && p('id,actor,extra') && e("7,admin,1"); // 测试获取objectType build objectId 7的动态信息
|
||||
r($action->getListTest($objectType[7], $objectId[7])) && p('id,actor,extra') && e("8,dev17,1"); // 测试获取objectType bug objectId 8的动态信息
|
||||
r($action->getListTest($objectType[8], $objectId[8])) && p('id,actor,extra') && e("9,test18,2"); // 测试获取objectType testcase objectId 9的动态信息
|
||||
r($action->getListTest($objectType[9], $objectId[9])) && p('id,actor,extra') && e("10,admin,1"); // 测试获取objectType case objectId 10的动态信息
|
||||
r($action->getListTest($objectType[10], $objectId[10])) && p('id,actor,extra') && e("11,dev17,1"); // 测试获取objectType testtask objectId 11的动态信息
|
||||
r($action->getListTest($objectType[11], $objectId[11])) && p('id,actor,extra') && e("12,test18,1"); // 测试获取objectType user objectId 12的动态信息
|
||||
r($action->getListTest($objectType[12], $objectId[12])) && p('id,actor,extra') && e("13,admin,1"); // 测试获取objectType doc objectId 13的动态信息
|
||||
r($action->getListTest($objectType[13], $objectId[13])) && p('id,actor,extra') && e("14,dev17,1"); // 测试获取objectType doclib objectId 14的动态信息
|
||||
r($action->getListTest($objectType[14], $objectId[14])) && p('id,actor,extra') && e("15,test18,1"); // 测试获取objectType todo objectId 15的动态信息
|
||||
r($action->getListTest($objectType[15], $objectId[15])) && p('id,actor,extra') && e("16,admin,1"); // 测试获取objectType branch objectId 16的动态信息
|
||||
r($action->getListTest($objectType[16], $objectId[16])) && p('id,actor,extra') && e("17,dev17,1"); // 测试获取objectType module objectId 17的动态信息
|
||||
r($action->getListTest($objectType[17], $objectId[17])) && p('id,actor,extra') && e("18,test18,a"); // 测试获取objectType testsuite objectId 18的动态信息
|
||||
r($action->getListTest($objectType[18], $objectId[18])) && p('id,actor,extra') && e("19,admin,1"); // 测试获取objectType caselib objectId 19的动态信息
|
||||
r($action->getListTest($objectType[19], $objectId[19])) && p('id,actor,extra') && e("20,dev17,1"); // 测试获取objectType testreport objectId 20的动态信息
|
||||
r($action->getListTest($objectType[20], $objectId[20])) && p('id,actor,extra') && e("21,test18,1"); // 测试获取objectType entry objectId 21的动态信息
|
||||
r($action->getListTest($objectType[21], $objectId[21])) && p('id,actor,extra') && e("22,admin,a"); // 测试获取objectType webhook objectId 22的动态信息
|
||||
r($action->getListTest($objectType[22], $objectId[22])) && p('id,actor,extra') && e("23,dev17,1"); // 测试获取objectType review objectId 23的动态信息
|
||||
r($action->getListTest($objectType[0], $objectId[23])) && p('id,actor,extra') && e("24,test18,1"); // 测试获取objectType product objectId 24的动态信息
|
||||
r($action->getListTest($objectType[1], $objectId[24])) && p('id,actor,extra') && e("25,admin,1"); // 测试获取objectType story objectId 25的动态信息
|
||||
r($action->getListTest($objectType[2], $objectId[25])) && p('id,actor,extra') && e("26,dev17,1"); // 测试获取objectType productplan objectId 26的动态信息
|
||||
r($action->getListTest($objectType[3], $objectId[26])) && p('id,actor,extra') && e("27,test18,1"); // 测试获取objectType release objectId 27的动态信息
|
||||
r($action->getListTest($objectType[4], $objectId[27])) && p('id,actor,extra') && e("28,admin,33"); // 测试获取objectType project objectId 28的动态信息
|
||||
r($action->getListTest($objectType[5], $objectId[28])) && p('id,actor,extra') && e("29,dev17,1"); // 测试获取objectType task objectId 29的动态信息
|
||||
r($action->getListTest($objectType[6], $objectId[29])) && p('id,actor,extra') && e("30,test18,1"); // 测试获取objectType build objectId 30的动态信息
|
||||
r($action->getListTest($objectType[7], $objectId[30])) && p('id,actor,extra') && e("31,admin,1"); // 测试获取objectType bug objectId 31的动态信息
|
||||
r($action->getListTest($objectType[8], $objectId[31])) && p('id,actor,extra') && e("32,项目经理17,1"); // 测试获取objectType testcase objectId 32的动态信息
|
||||
r($action->getListTest($objectType[9], $objectId[32])) && p('id,actor,extra') && e("33,test18,1"); // 测试获取objectType case objectId 33的动态信息
|
||||
r($action->getListTest($objectType[10], $objectId[33])) && p('id,actor,extra') && e("34,admin,1"); // 测试获取objectType testtask objectId 34的动态信息
|
||||
r($action->getListTest($objectType[11], $objectId[34])) && p('id,actor,extra') && e("35,dev17,1"); // 测试获取objectType user objectId 35的动态信息
|
||||
r($action->getListTest($objectType[12], $objectId[35])) && p('id,actor,extra') && e("36,test18,1"); // 测试获取objectType doc objectId 36的动态信息
|
||||
r($action->getListTest($objectType[13], $objectId[36])) && p('id,actor,extra') && e("37,admin,1"); // 测试获取objectType doclib objectId 37的动态信息
|
||||
r($action->getListTest($objectType[14], $objectId[37])) && p('id,actor,extra') && e("38,dev17,1"); // 测试获取objectType todo objectId 38的动态信息
|
||||
r($action->getListTest($objectType[15], $objectId[38])) && p('id,actor,extra') && e("39,test18,a"); // 测试获取objectType branch objectId 39的动态信息
|
||||
r($action->getListTest($objectType[0], $objectId[0])) && p('id,actor,extra') && e('1,admin,1'); // 测试获取objectType product objectId 1的动态信息
|
||||
r($action->getListTest($objectType[1], $objectId[1])) && p('id,actor,extra') && e('2,dev17,1'); // 测试获取objectType story objectId 2的动态信息
|
||||
r($action->getListTest($objectType[2], $objectId[2])) && p('id,actor,extra') && e('3,test18,1'); // 测试获取objectType productplan objectId 3的动态信息
|
||||
r($action->getListTest($objectType[3], $objectId[3])) && p('id,actor,extra') && e('4,admin,1'); // 测试获取objectType release objectId 4的动态信息
|
||||
r($action->getListTest($objectType[4], $objectId[4])) && p('id,actor,extra') && e('5,dev17,11'); // 测试获取objectType project objectId 5的动态信息
|
||||
r($action->getListTest($objectType[5], $objectId[5])) && p('id,actor,extra') && e('6,test18,1'); // 测试获取objectType task objectId 6的动态信息
|
||||
r($action->getListTest($objectType[6], $objectId[6])) && p('id,actor,extra') && e('7,admin,1'); // 测试获取objectType build objectId 7的动态信息
|
||||
r($action->getListTest($objectType[7], $objectId[7])) && p('id,actor,extra') && e('8,dev17,1'); // 测试获取objectType bug objectId 8的动态信息
|
||||
r($action->getListTest($objectType[8], $objectId[8])) && p('id,actor,extra') && e('9,test18,2'); // 测试获取objectType testcase objectId 9的动态信息
|
||||
r($action->getListTest($objectType[9], $objectId[9])) && p('id,actor,extra') && e('10,admin,1'); // 测试获取objectType case objectId 10的动态信息
|
||||
r($action->getListTest($objectType[10], $objectId[10])) && p('id,actor,extra') && e('11,dev17,1'); // 测试获取objectType testtask objectId 11的动态信息
|
||||
r($action->getListTest($objectType[11], $objectId[11])) && p('id,actor,extra') && e('12,test18,1'); // 测试获取objectType user objectId 12的动态信息
|
||||
r($action->getListTest($objectType[12], $objectId[12])) && p('id,actor,extra') && e('13,admin,1'); // 测试获取objectType doc objectId 13的动态信息
|
||||
r($action->getListTest($objectType[13], $objectId[13])) && p('id,actor,extra') && e('14,dev17,1'); // 测试获取objectType doclib objectId 14的动态信息
|
||||
r($action->getListTest($objectType[14], $objectId[14])) && p('id,actor,extra') && e('15,test18,1'); // 测试获取objectType todo objectId 15的动态信息
|
||||
r($action->getListTest($objectType[15], $objectId[15])) && p('id,actor,extra') && e('16,admin,1'); // 测试获取objectType branch objectId 16的动态信息
|
||||
r($action->getListTest($objectType[16], $objectId[16])) && p('id,actor,extra') && e('17,dev17,1'); // 测试获取objectType module objectId 17的动态信息
|
||||
r($action->getListTest($objectType[17], $objectId[17])) && p('id,actor,extra') && e('18,test18,a'); // 测试获取objectType testsuite objectId 18的动态信息
|
||||
r($action->getListTest($objectType[18], $objectId[18])) && p('id,actor,extra') && e('19,admin,1'); // 测试获取objectType caselib objectId 19的动态信息
|
||||
r($action->getListTest($objectType[19], $objectId[19])) && p('id,actor,extra') && e('20,dev17,1'); // 测试获取objectType testreport objectId 20的动态信息
|
||||
r($action->getListTest($objectType[20], $objectId[20])) && p('id,actor,extra') && e('21,test18,1'); // 测试获取objectType entry objectId 21的动态信息
|
||||
r($action->getListTest($objectType[21], $objectId[21])) && p('id,actor,extra') && e('22,admin,a'); // 测试获取objectType webhook objectId 22的动态信息
|
||||
r($action->getListTest($objectType[22], $objectId[22])) && p('id,actor,extra') && e('23,dev17,1'); // 测试获取objectType review objectId 23的动态信息
|
||||
r($action->getListTest($objectType[0], $objectId[23])) && p('id,actor,extra') && e('24,test18,1'); // 测试获取objectType product objectId 24的动态信息
|
||||
r($action->getListTest($objectType[1], $objectId[24])) && p('id,actor,extra') && e('25,admin,1'); // 测试获取objectType story objectId 25的动态信息
|
||||
r($action->getListTest($objectType[2], $objectId[25])) && p('id,actor,extra') && e('26,dev17,1'); // 测试获取objectType productplan objectId 26的动态信息
|
||||
r($action->getListTest($objectType[3], $objectId[26])) && p('id,actor,extra') && e('27,test18,1'); // 测试获取objectType release objectId 27的动态信息
|
||||
r($action->getListTest($objectType[4], $objectId[27])) && p('id,actor,extra') && e('28,admin,33'); // 测试获取objectType project objectId 28的动态信息
|
||||
r($action->getListTest($objectType[5], $objectId[28])) && p('id,actor,extra') && e('29,dev17,1'); // 测试获取objectType task objectId 29的动态信息
|
||||
r($action->getListTest($objectType[6], $objectId[29])) && p('id,actor,extra') && e('30,test18,1'); // 测试获取objectType build objectId 30的动态信息
|
||||
r($action->getListTest($objectType[7], $objectId[30])) && p('id,actor,extra') && e('31,admin,1'); // 测试获取objectType bug objectId 31的动态信息
|
||||
r($action->getListTest($objectType[8], $objectId[31])) && p('id,actor,extra') && e('32,dev17,1'); // 测试获取objectType testcase objectId 32的动态信息
|
||||
r($action->getListTest($objectType[9], $objectId[32])) && p('id,actor,extra') && e('33,test18,1'); // 测试获取objectType case objectId 33的动态信息
|
||||
r($action->getListTest($objectType[10], $objectId[33])) && p('id,actor,extra') && e('34,admin,1'); // 测试获取objectType testtask objectId 34的动态信息
|
||||
r($action->getListTest($objectType[11], $objectId[34])) && p('id,actor,extra') && e('35,dev17,1'); // 测试获取objectType user objectId 35的动态信息
|
||||
r($action->getListTest($objectType[12], $objectId[35])) && p('id,actor,extra') && e('36,test18,1'); // 测试获取objectType doc objectId 36的动态信息
|
||||
r($action->getListTest($objectType[13], $objectId[36])) && p('id,actor,extra') && e('37,admin,1'); // 测试获取objectType doclib objectId 37的动态信息
|
||||
r($action->getListTest($objectType[14], $objectId[37])) && p('id,actor,extra') && e('38,dev17,1'); // 测试获取objectType todo objectId 38的动态信息
|
||||
r($action->getListTest($objectType[15], $objectId[38])) && p('id,actor,extra') && e('39,test18,a'); // 测试获取objectType branch objectId 39的动态信息
|
||||
|
||||
Reference in New Issue
Block a user