Merge branch release/21.7.8 of zentao/zentaopms (#13144)

This commit is contained in:
刘刚
2026-01-06 15:36:02 +08:00
committed by Gitfox
7 changed files with 118 additions and 118 deletions
+1 -1
View File
@@ -243,7 +243,7 @@ class actionTao extends actionModel
*/
public function getReleaseRelated(string $objectType, int $objectID): array
{
$product = array(0);
$product = 0;
$project = 0;
$result = $this->dao->select('product, build')->from($this->config->objectTables[$objectType])->where('id')->eq($objectID)->fetch();
if($result)
+64 -63
View File
@@ -11,7 +11,7 @@ zenData('projectproduct')->loadYaml('projectproduct')->gen(2);
zenData('story')->loadYaml('story')->gen(5);
zenData('build')->loadYaml('build')->gen(2);
zenData('projectstory')->loadYaml('projectstory')->gen(1);
zenData('branch')->loadYaml('branch')->loadYaml(1);
zenData('branch')->loadYaml('branch')->gen(1);
zenData('case')->loadYaml('case')->gen(1);
zenData('testtask')->loadYaml('testtask')->gen(1);
zenData('doc')->gen(1);
@@ -22,6 +22,7 @@ zenData('team')->gen(1);
zenData('module')->loadYaml('module')->gen(1);
zenData('review')->loadYaml('review')->gen(1);
zenData('productplan')->gen(1);
zenData('release')->gen(1);
/**
@@ -47,105 +48,105 @@ cid=14909
- 属性execution @4
- 测试获取objectType story objectId 5 actionType linked2build extra 11 的动态信息
- 属性product @,1,
- 属性project @0
- 属性project @12
- 属性execution @0
- 测试获取objectType story objectId 6 actionType unlinkedfrombuild extra 11 的动态信息
- 属性product @,1,
- 属性project @0
- 属性project @12
- 属性execution @0
- 测试获取objectType story objectId 7 actionType estimated extra 11 的动态信息
- 属性product @,1,
- 属性project @0
- 属性execution @0
- 属性execution @11
- 测试获取objectType story objectId 8 actionType edited extra 11 的动态信息
- 属性product @,2,
- 属性project @0
- 属性execution @11
- 测试获取objectType productplan objectId 9 actionType assigned extra 1 的动态信息
- 测试获取objectType productplan objectId 1 actionType assigned extra 1 的动态信息
- 属性product @,1,
- 属性project @0
- 属性execution @0
- 测试获取objectType branch objectId 10 actionType closed extra 1 的动态信息
- 测试获取objectType branch objectId 1 actionType closed extra 1 的动态信息
- 属性product @,41,
- 属性project @0
- 属性execution @0
- 测试获取objectType testcase objectId 11 actionType deleted extra 1 的动态信息
- 测试获取objectType testcase objectId 1 actionType deleted extra 1 的动态信息
- 属性product @,1,
- 属性project @~~
- 属性execution @101
- 测试获取objectType case objectId 12 actionType deletedfile extra 1 的动态信息
- 测试获取objectType case objectId 1 actionType deletedfile extra 1 的动态信息
- 属性product @,1,
- 属性project @~~
- 属性execution @101
- 测试获取objectType testtask objectId 13 actionType linked2testtask extra 11 的动态信息
- 测试获取objectType build objectId 11 actionType linked2testtask extra 11 的动态信息
- 属性product @,2,
- 属性project @12
- 属性execution @0
- 测试获取objectType testtask objectId 14 actionType unlinkedfromtesttask extra 11 的动态信息
- 属性product @,1,
- 属性project @11
- 属性execution @101
- 测试获取objectType testtask objectId 15 actionType assigned extra 11 的动态信息
- 属性product @,1,
- 属性project @11
- 属性execution @101
- 测试获取objectType doc objectId 16 actionType run extra 1 的动态信息
- 属性product @,1,
- 属性project @0
- 属性execution @0
- 测试获取objectType repo objectId 17 actionType commented extra 1 的动态信息
- 测试获取objectType bug objectId 1 actionType unlinkedfromtesttask extra 11 的动态信息
- 属性product @,0,
- 属性project @0
- 属性execution @0
- 测试获取objectType release objectId 18 actionType activated extra 1 的动态信息
- 属性product @,1,
- 属性project @11
- 属性execution @0
- 测试获取objectType task objectId 19 actionType blocked extra 11 的动态信息
- 测试获取objectType testtask objectId 1 actionType assigned extra 11 的动态信息
- 属性product @,1,
- 属性project @11
- 属性execution @101
- 测试获取objectType kanbanlane objectId 20 actionType moved extra 1 的动态信息
- 测试获取objectType doc objectId 1 actionType run extra 1 的动态信息
- 属性product @,1,
- 属性project @0
- 属性execution @0
- 测试获取objectType repo objectId 1 actionType commented extra 1 的动态信息
- 属性product @,0,
- 属性project @0
- 属性execution @0
- 测试获取objectType release objectId 1 actionType activated extra 1 的动态信息
- 属性product @,1,
- 属性project @11
- 属性execution @0
- 测试获取objectType task objectId 1 actionType blocked extra 11 的动态信息
- 属性product @,1,
- 属性project @11
- 属性execution @101
- 测试获取objectType kanbanlane objectId 1 actionType moved extra 1 的动态信息
- 属性product @,0,
- 属性project @~~
- 属性execution @1
- 测试获取objectType kanbancolumn objectId 21 actionType confirmed extra 1 的动态信息
- 测试获取objectType kanbancolumn objectId 1 actionType confirmed extra 1 的动态信息
- 属性product @,0,
- 属性project @~~
- 属性execution @1
- 测试获取objectType team objectId 22 actionType caseconfirmed extra 11 的动态信息
- 测试获取objectType team objectId 11 actionType caseconfirmed extra 11 的动态信息
- 属性product @,0,
- 属性project @0
- 属性execution @11
- 测试获取objectType whitelist objectId 23 actionType bugconfirmed extra 1 的动态信息
- 测试获取objectType whitelist objectId 1 actionType bugconfirmed extra 1 的动态信息
- 属性product @,1,
- 属性project @0
- 属性execution @0
- 测试获取objectType module objectId 24 actionType deleted extra 1 的动态信息
- 测试获取objectType module objectId 1 actionType deleted extra 1 的动态信息
- 属性product @,1,
- 属性project @0
- 属性execution @0
- 测试获取objectType review objectId 25 actionType started extra 1 的动态信息
- 测试获取objectType review objectId 1 actionType started extra 1 的动态信息
- 属性product @,0,
- 属性project @1
- 属性execution @0
- 测试获取objectType story objectId 26 actionType unlinkedfromproject extra 11 的动态信息
- 测试获取objectType story objectId 1 actionType unlinkedfromproject extra 11 的动态信息
- 属性product @,1,
- 属性project @1
- 属性execution @0
- 测试获取objectType story objectId 27 actionType linked2project extra 11 的动态信息
- 测试获取objectType story objectId 1 actionType linked2project extra 11 的动态信息
- 属性product @,1,
- 属性project @1
- 属性execution @0
- 测试获取objectType story objectId 28 actionType unlinkedfromexecution extra 11 的动态信H息H
- 测试获取objectType story objectId 1 actionType unlinkedfromexecution extra 11 的动态信H息H
- 属性product @,1,
- 属性project @~~
- 属性execution @33
- 测试获取objectType story objectId 29 actionType linked2execution extra 11 的动态信息
- 测试获取objectType story objectId 1 actionType linked2execution extra 11 的动态信息
- 属性product @,1,
- 属性project @~~
- 属性execution @1
- 测试获取objectType story objectId 30 actionType linked2kanban extra 1 的动态信息
- 测试获取objectType story objectId 1 actionType linked2kanban extra 1 的动态信息
- 属性product @,1,
- 属性project @~~
- 属性execution @1
@@ -163,29 +164,29 @@ r($action->getRelatedFieldsTest($objectType[0], $objectId[0], $actionType[0],
r($action->getRelatedFieldsTest($objectType[1], $objectId[1], $actionType[1], $extra[1])) && p('product|project|execution', '|') && e(',2,|0|0'); // 测试获取objectType product objectId 2 actionType extra extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[2], $objectId[2], $actionType[2], $extra[2])) && p('product|project|execution', '|') && e(',1,|3|0'); // 测试获取objectType project objectId 3 actionType opened extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[3], $objectId[3], $actionType[3], $extra[3])) && p('product|project|execution', '|') && e(',1,|0|4'); // 测试获取objectType execution objectId 4 actionType created extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[4], $objectId[4], $actionType[4], $extra[4])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType story objectId 5 actionType linked2build extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[5], $objectId[5], $actionType[5], $extra[5])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType story objectId 6 actionType unlinkedfrombuild extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[6], $objectId[6], $actionType[6], $extra[6])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType story objectId 7 actionType estimated extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[4], $objectId[4], $actionType[4], $extra[4])) && p('product|project|execution', '|') && e(',1,|12|0'); // 测试获取objectType story objectId 5 actionType linked2build extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[5], $objectId[5], $actionType[5], $extra[5])) && p('product|project|execution', '|') && e(',1,|12|0'); // 测试获取objectType story objectId 6 actionType unlinkedfrombuild extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[6], $objectId[6], $actionType[6], $extra[6])) && p('product|project|execution', '|') && e(',1,|0|11'); // 测试获取objectType story objectId 7 actionType estimated extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[7], $objectId[7], $actionType[7], $extra[7])) && p('product|project|execution', '|') && e(',2,|0|11'); // 测试获取objectType story objectId 8 actionType edited extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[8], $objectId[8], $actionType[8], $extra[8])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType productplan objectId 9 actionType assigned extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[9], $objectId[9], $actionType[9], $extra[9])) && p('product|project|execution', '|') && e(',41,|0|0'); // 测试获取objectType branch objectId 10 actionType closed extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[10], $objectId[10], $actionType[10], $extra[10])) && p('product|project|execution', '|') && e(',1,|~~|101'); // 测试获取objectType testcase objectId 11 actionType deleted extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[11], $objectId[11], $actionType[11], $extra[11])) && p('product|project|execution', '|') && e(',1,|~~|101'); // 测试获取objectType case objectId 12 actionType deletedfile extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[12], $objectId[12], $actionType[12], $extra[12])) && p('product|project|execution', '|') && e(',2,|12|0'); // 测试获取objectType testtask objectId 13 actionType linked2testtask extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[13], $objectId[13], $actionType[13], $extra[13])) && p('product|project|execution', '|') && e(',1,|11|101'); // 测试获取objectType testtask objectId 14 actionType unlinkedfromtesttask extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[14], $objectId[14], $actionType[14], $extra[14])) && p('product|project|execution', '|') && e(',1,|11|101'); // 测试获取objectType testtask objectId 15 actionType assigned extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[15], $objectId[15], $actionType[15], $extra[15])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType doc objectId 16 actionType run extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[16], $objectId[16], $actionType[16], $extra[16])) && p('product|project|execution', '|') && e(',0,|0|0'); // 测试获取objectType repo objectId 17 actionType commented extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[17], $objectId[17], $actionType[17], $extra[17])) && p('product|project|execution', '|') && e(',1,|11|0'); // 测试获取objectType release objectId 18 actionType activated extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[18], $objectId[18], $actionType[18], $extra[18])) && p('product|project|execution', '|') && e(',1,|11|101'); // 测试获取objectType task objectId 19 actionType blocked extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[19], $objectId[19], $actionType[19], $extra[19])) && p('product|project|execution', '|') && e(',0,|~~|1'); // 测试获取objectType kanbanlane objectId 20 actionType moved extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[20], $objectId[20], $actionType[20], $extra[20])) && p('product|project|execution', '|') && e(',0,|~~|1'); // 测试获取objectType kanbancolumn objectId 21 actionType confirmed extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[21], $objectId[21], $actionType[21], $extra[21])) && p('product|project|execution', '|') && e(',0,|0|11'); // 测试获取objectType team objectId 22 actionType caseconfirmed extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[22], $objectId[22], $actionType[22], $extra[22])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType whitelist objectId 23 actionType bugconfirmed extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[23], $objectId[23], $actionType[23], $extra[23])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType module objectId 24 actionType deleted extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[24], $objectId[24], $actionType[24], $extra[24])) && p('product|project|execution', '|') && e(',0,|1|0'); // 测试获取objectType review objectId 25 actionType started extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[25], $objectId[25], $actionType[25], $extra[25])) && p('product|project|execution', '|') && e(',1,|1|0'); // 测试获取objectType story objectId 26 actionType unlinkedfromproject extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[26], $objectId[26], $actionType[26], $extra[26])) && p('product|project|execution', '|') && e(',1,|1|0'); // 测试获取objectType story objectId 27 actionType linked2project extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[27], $objectId[27], $actionType[27], $extra[27])) && p('product|project|execution', '|') && e(',1,|~~|33'); // 测试获取objectType story objectId 28 actionType unlinkedfromexecution extra 11 的动态信H息H
r($action->getRelatedFieldsTest($objectType[28], $objectId[28], $actionType[28], $extra[28])) && p('product|project|execution', '|') && e(',1,|~~|1'); // 测试获取objectType story objectId 29 actionType linked2execution extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[29], $objectId[29], $actionType[29], $extra[29])) && p('product|project|execution', '|') && e(',1,|~~|1'); // 测试获取objectType story objectId 30 actionType linked2kanban extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[8], $objectId[8], $actionType[8], $extra[8])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType productplan objectId 1 actionType assigned extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[9], $objectId[9], $actionType[9], $extra[9])) && p('product|project|execution', '|') && e(',41,|0|0'); // 测试获取objectType branch objectId 1 actionType closed extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[10], $objectId[10], $actionType[10], $extra[10])) && p('product|project|execution', '|') && e(',1,|~~|101'); // 测试获取objectType testcase objectId 1 actionType deleted extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[11], $objectId[11], $actionType[11], $extra[11])) && p('product|project|execution', '|') && e(',1,|~~|101'); // 测试获取objectType case objectId 1 actionType deletedfile extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[12], $objectId[12], $actionType[12], $extra[12])) && p('product|project|execution', '|') && e(',2,|12|0'); // 测试获取objectType build objectId 11 actionType linked2testtask extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[13], $objectId[13], $actionType[13], $extra[13])) && p('product|project|execution', '|') && e(',0,|0|0'); // 测试获取objectType bug objectId 1 actionType unlinkedfromtesttask extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[14], $objectId[14], $actionType[14], $extra[14])) && p('product|project|execution', '|') && e(',1,|11|101'); // 测试获取objectType testtask objectId 1 actionType assigned extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[15], $objectId[15], $actionType[15], $extra[15])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType doc objectId 1 actionType run extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[16], $objectId[16], $actionType[16], $extra[16])) && p('product|project|execution', '|') && e(',0,|0|0'); // 测试获取objectType repo objectId 1 actionType commented extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[17], $objectId[17], $actionType[17], $extra[17])) && p('product|project|execution', '|') && e(',1,|11|0'); // 测试获取objectType release objectId 1 actionType activated extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[18], $objectId[18], $actionType[18], $extra[18])) && p('product|project|execution', '|') && e(',1,|11|101'); // 测试获取objectType task objectId 1 actionType blocked extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[19], $objectId[19], $actionType[19], $extra[19])) && p('product|project|execution', '|') && e(',0,|~~|1'); // 测试获取objectType kanbanlane objectId 1 actionType moved extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[20], $objectId[20], $actionType[20], $extra[20])) && p('product|project|execution', '|') && e(',0,|~~|1'); // 测试获取objectType kanbancolumn objectId 1 actionType confirmed extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[21], $objectId[21], $actionType[21], $extra[21])) && p('product|project|execution', '|') && e(',0,|0|11'); // 测试获取objectType team objectId 11 actionType caseconfirmed extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[22], $objectId[22], $actionType[22], $extra[22])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType whitelist objectId 1 actionType bugconfirmed extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[23], $objectId[23], $actionType[23], $extra[23])) && p('product|project|execution', '|') && e(',1,|0|0'); // 测试获取objectType module objectId 1 actionType deleted extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[24], $objectId[24], $actionType[24], $extra[24])) && p('product|project|execution', '|') && e(',0,|1|0'); // 测试获取objectType review objectId 1 actionType started extra 1 的动态信息
r($action->getRelatedFieldsTest($objectType[25], $objectId[25], $actionType[25], $extra[25])) && p('product|project|execution', '|') && e(',1,|1|0'); // 测试获取objectType story objectId 1 actionType unlinkedfromproject extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[26], $objectId[26], $actionType[26], $extra[26])) && p('product|project|execution', '|') && e(',1,|1|0'); // 测试获取objectType story objectId 1 actionType linked2project extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[27], $objectId[27], $actionType[27], $extra[27])) && p('product|project|execution', '|') && e(',1,|~~|33'); // 测试获取objectType story objectId 1 actionType unlinkedfromexecution extra 11 的动态信H息H
r($action->getRelatedFieldsTest($objectType[28], $objectId[28], $actionType[28], $extra[28])) && p('product|project|execution', '|') && e(',1,|~~|1'); // 测试获取objectType story objectId 1 actionType linked2execution extra 11 的动态信息
r($action->getRelatedFieldsTest($objectType[29], $objectId[29], $actionType[29], $extra[29])) && p('product|project|execution', '|') && e(',1,|~~|1'); // 测试获取objectType story objectId 1 actionType linked2kanban extra 1 的动态信息
+2 -2
View File
@@ -40,7 +40,7 @@ r($actionModel->hasMoreAction($lastAction)) && p() && e('0'); // 测试传入
$sql = $actionModel->dao->get();
r(strpos($sql, "LEFT JOIN `zt_actionproduct` AS t2 ON action.id=t2.action") === false) && p() && e('1'); // 检查SQL。
$_SESSION['actionQueryCondition'] = "actor='admin' AND t2.product='1';";
$_SESSION['actionQueryCondition'] = "actor='admin' AND t2.product='1'";
r($actionModel->hasMoreAction($lastAction)) && p() && e('0'); // 测试传入条件 actor='admin' AND t2.product='1'。
$sql = $actionModel->dao->get();
@@ -48,4 +48,4 @@ r(strpos($sql, "LEFT JOIN `zt_actionproduct` AS t2 ON action.id=t2.action") !==
$actionModel->dao->update(TABLE_ACTION)->set("`date` = concat('2025-05-19 15:15:5', id)")->exec();
$_SESSION['actionQueryCondition'] = "1=1";
r($actionModel->hasMoreAction($lastAction)) && p() && e('1'); // 测试传入条件 1=1。
r($actionModel->hasMoreAction($lastAction)) && p() && e('1'); // 测试传入条件 1=1。
@@ -9,7 +9,7 @@ cid=14919
- 执行actionTest模块的printActionForGitLabTest方法,参数是$invalidAction @0
- 执行actionTest模块的printActionForGitLabTest方法,参数是$validActionWithExtra @首次创建。
- 执行actionTest模块的printActionForGitLabTest方法,参数是$assignedAction @指派给 <strong><a href='user-profile-1.html' target='_blank'>admin</a></strong>。
- 执行actionTest模块的printActionForGitLabTest方法,参数是$assignedAction @添加成功。
- 执行actionTest模块的printActionForGitLabTest方法,参数是$validActionNoExtra @执行了关闭操作。
- 执行actionTest模块的printActionForGitLabTest方法,参数是$unknownAction @unknownaction
@@ -28,22 +28,21 @@ r($actionTest->printActionForGitLabTest($invalidAction)) && p() && e('0');
$validActionWithExtra = new stdclass();
$validActionWithExtra->objectType = 'task';
$validActionWithExtra->action = 'opened';
$validActionWithExtra->extra = 'test extra';
$validActionWithExtra->action = 'opened';
$validActionWithExtra->extra = 'test extra';
r($actionTest->printActionForGitLabTest($validActionWithExtra)) && p() && e('首次创建。');
$assignedAction = new stdclass();
$assignedAction->objectType = 'task';
$assignedAction->action = 'assigned';
$assignedAction->extra = 'admin';
r($actionTest->printActionForGitLabTest($assignedAction)) && p() && e("指派给 <strong><a href='user-profile-1.html' target='_blank'>admin</a></strong>。");
$assignedAction->action = 'added';
r($actionTest->printActionForGitLabTest($assignedAction)) && p() && e("添加成功。");
$validActionNoExtra = new stdclass();
$validActionNoExtra->objectType = 'bug';
$validActionNoExtra->action = 'closed';
$validActionNoExtra->action = 'closed';
r($actionTest->printActionForGitLabTest($validActionNoExtra)) && p() && e('执行了关闭操作。');
$unknownAction = new stdclass();
$unknownAction->objectType = 'task';
$unknownAction->action = 'unknownaction';
r($actionTest->printActionForGitLabTest($unknownAction)) && p() && e('unknownaction');
$unknownAction->action = 'unknownaction';
r($actionTest->printActionForGitLabTest($unknownAction)) && p() && e('unknownaction');
@@ -22,46 +22,46 @@ $actionTest = new actionTest();
// 创建包含用户动态的测试数据(应该被过滤)
$userDynamic = new stdClass();
$userDynamic->id = 100;
$userDynamic->id = 100;
$userDynamic->objectType = 'user';
$userDynamic->objectID = 1;
$userDynamic->actor = 'admin';
$userDynamic->action = 'login';
$userDynamic->objectID = 1;
$userDynamic->actor = 'admin';
$userDynamic->action = 'login';
// 创建不存在用户的动态数据
$nonExistUserDynamic = new stdClass();
$nonExistUserDynamic->id = 200;
$nonExistUserDynamic->id = 200;
$nonExistUserDynamic->objectType = 'task';
$nonExistUserDynamic->objectID = 1;
$nonExistUserDynamic->actor = 'nonexistentuser';
$nonExistUserDynamic->action = 'created';
$nonExistUserDynamic->objectID = 1;
$nonExistUserDynamic->actor = 'nonexistentuser';
$nonExistUserDynamic->action = 'created';
// 创建存在用户的动态数据
$existUserDynamic = new stdClass();
$existUserDynamic->id = 300;
$existUserDynamic->id = 300;
$existUserDynamic->objectType = 'task';
$existUserDynamic->objectID = 2;
$existUserDynamic->actor = 'admin';
$existUserDynamic->action = 'created';
$existUserDynamic->objectID = 2;
$existUserDynamic->actor = 'admin';
$existUserDynamic->action = 'created';
// 创建另一个存在用户的动态数据
$anotherUserDynamic = new stdClass();
$anotherUserDynamic->id = 400;
$anotherUserDynamic->id = 400;
$anotherUserDynamic->objectType = 'story';
$anotherUserDynamic->objectID = 1;
$anotherUserDynamic->actor = 'user1';
$anotherUserDynamic->action = 'opened';
$anotherUserDynamic->objectID = 1;
$anotherUserDynamic->actor = 'user1';
$anotherUserDynamic->action = 'opened';
// 创建第5个测试数据:检查不存在用户的actor对象结构
$extraUserDynamic = new stdClass();
$extraUserDynamic->id = 500;
$extraUserDynamic->id = 500;
$extraUserDynamic->objectType = 'bug';
$extraUserDynamic->objectID = 1;
$extraUserDynamic->actor = 'user2';
$extraUserDynamic->action = 'resolved';
$extraUserDynamic->objectID = 1;
$extraUserDynamic->actor = 'user2';
$extraUserDynamic->action = 'resolved';
r(count($actionTest->processDynamicForAPITest(array()))) && p() && e('0'); // 步骤1:测试处理空动态数组
r(count($actionTest->processDynamicForAPITest(array($userDynamic)))) && p() && e('0'); // 步骤2:测试过滤用户动态
r(count($actionTest->processDynamicForAPITest(array($existUserDynamic)))) && p() && e('1'); // 步骤3:测试存在用户的动态数据
r(count($actionTest->processDynamicForAPITest(array($nonExistUserDynamic)))) && p() && e('1'); // 步骤4:测试不存在用户的动态数据
r(count($actionTest->processDynamicForAPITest(array($userDynamic, $existUserDynamic, $anotherUserDynamic)))) && p() && e('2'); // 步骤5:测试混合动态数据过滤用户类型
r(count($actionTest->processDynamicForAPITest(array()))) && p() && e('0'); // 步骤1:测试处理空动态数组
r(count($actionTest->processDynamicForAPITest(array(clone $userDynamic)))) && p() && e('0'); // 步骤2:测试过滤用户动态
r(count($actionTest->processDynamicForAPITest(array(clone $existUserDynamic)))) && p() && e('1'); // 步骤3:测试存在用户的动态数据
r(count($actionTest->processDynamicForAPITest(array(clone $nonExistUserDynamic)))) && p() && e('1'); // 步骤4:测试不存在用户的动态数据
r(count($actionTest->processDynamicForAPITest(array($userDynamic, $existUserDynamic, $anotherUserDynamic)))) && p() && e('2'); // 步骤5:测试混合动态数据过滤用户类型
@@ -56,10 +56,10 @@ su('admin');
// 创建测试实例
$actionTest = new actionTest();
r($actionTest->processProjectActionsTest(array())) && p('count') && e('0'); // 测试步骤1:空数组输入
r($actionTest->processProjectActionsTest('1,2,3,4,5')) && p('count') && e('5'); // 测试步骤2:包含project类型action的过滤
r($actionTest->processProjectActionsTest('6,7,8')) && p('count') && e('3'); // 测试步骤3:testtask类型action的映射转换
r($actionTest->processProjectActionsTest('9,10')) && p('count') && e('2'); // 测试步骤4:build类型action的映射转换
r($actionTest->processProjectActionsTest('11,12,13,14,15')) && p('count') && e('0'); // 测试步骤5:非项目相关类型的过滤
r($actionTest->processProjectActionsTest('1,6,9,11,14')) && p('count') && e('3'); // 测试步骤6:混合类型action的综合处理
r($actionTest->processProjectActionsTest('13,14,15')) && p('count') && e('0'); // 测试步骤7:不在映射表中的其他类型过滤
r(count($actionTest->processProjectActionsTest(array()))) && p('count') && e('0'); // 测试步骤1:空数组输入
r(count($actionTest->processProjectActionsTest('1,2,3,4,5'))) && p('count') && e('5'); // 测试步骤2:包含project类型action的过滤
r(count($actionTest->processProjectActionsTest('6,7,8'))) && p('count') && e('3'); // 测试步骤3:testtask类型action的映射转换
r(count($actionTest->processProjectActionsTest('9,10'))) && p('count') && e('2'); // 测试步骤4:build类型action的映射转换
r(count($actionTest->processProjectActionsTest('11,12,13,14,15'))) && p('count') && e('0'); // 测试步骤5:非项目相关类型的过滤
r(count($actionTest->processProjectActionsTest('1,6,9,11,14'))) && p('count') && e('3'); // 测试步骤6:混合类型action的综合处理
r(count($actionTest->processProjectActionsTest('13,14,15'))) && p('count') && e('0'); // 测试步骤7:不在映射表中的其他类型过滤
+11 -11
View File
@@ -11,18 +11,18 @@ cid=14953
- 步骤1:正常情况
- 第0条的0属性 @1
- 属性1 @11
- 步骤2:不存在ID
- 步骤2:正常情况
- 第0条的0属性 @2
- 属性1 @18
- 步骤3:不存在ID
- 第0条的0属性 @0
- 属性1 @0
- 步骤3:边界值0
- 步骤4:边界值0
- 第0条的0属性 @0
- 属性1 @0
- 步骤4:负数ID
- 步骤5:负数ID
- 第0条的0属性 @0
- 属性1 @0
- 步骤5:发布版本存在但构建不存在
- 第0条的0属性 @8
- 属性1 @0
*/
@@ -36,8 +36,8 @@ su('admin');
$actionTest = new actionTest();
r($actionTest->getReleaseRelated('release', 1)) && p('0:0;1') && e('1,11'); // 步骤1:正常情况
r($actionTest->getReleaseRelated('release', 999)) && p('0:0;1') && e('0,0'); // 步骤2:不存在ID
r($actionTest->getReleaseRelated('release', 0)) && p('0:0;1') && e('0,0'); // 步骤3:边界值0
r($actionTest->getReleaseRelated('release', -1)) && p('0:0;1') && e('0,0'); // 步骤4:负数ID
r($actionTest->getReleaseRelated('release', 8)) && p('0:0;1') && e('8,0'); // 步骤5:发布版本存在但构建不存在
r($actionTest->getReleaseRelated('release', 1)) && p('0:0;1') && e('1,11'); // 步骤1:正常情况
r($actionTest->getReleaseRelated('release', 8)) && p('0:0;1') && e('2,18'); // 步骤2:正常情况
r($actionTest->getReleaseRelated('release', 999)) && p('0:0;1') && e('0,0'); // 步骤3:不存在ID
r($actionTest->getReleaseRelated('release', 0)) && p('0:0;1') && e('0,0'); // 步骤4:边界值0
r($actionTest->getReleaseRelated('release', -1)) && p('0:0;1') && e('0,0'); // 步骤5:负数ID