Merge branch release/21.7.8 of zentao/zentaopms (#13028)
This commit is contained in:
@@ -34,7 +34,7 @@ $story->duplicateStory->range('0,4,0{100}');
|
||||
$story->linkStories->range('0,6,0{100}');
|
||||
$story->linkRequirements->range('3,0{100}');
|
||||
$story->toBug->range('0{9},1,0{100}');
|
||||
$story->parent->range('0{17},`-1`,0,18,0{100}');
|
||||
$story->parent->range('0{17},0{2},18,0{100}');
|
||||
$story->isParent->range('0{17},1,0{100}');
|
||||
$story->twins->range('``{27},30,``,28');
|
||||
$story->gen(30);
|
||||
|
||||
@@ -9,7 +9,7 @@ cid=18583
|
||||
- 测试 story的id,圆整值,平均值
|
||||
- 属性story @2
|
||||
- 属性round @2
|
||||
- 属性average @1.5
|
||||
- 属性average @1.50
|
||||
- 测试 dev1和dev2的预计
|
||||
- 第dev1条的estimate属性 @1
|
||||
- 第dev2条的estimate属性 @2
|
||||
@@ -32,5 +32,5 @@ $tester->loadModel('story');
|
||||
$tester->story->saveEstimateInfo(2);
|
||||
$storyInfo = $tester->story->getEstimateInfo(2);
|
||||
|
||||
r($storyInfo) && p('story,round,average') && e('2,2,1.5'); // 测试 story的id,圆整值,平均值
|
||||
r($storyInfo->estimate) && p('dev1:estimate;dev2:estimate') && e('1,2'); // 测试 dev1和dev2的预计
|
||||
r($storyInfo) && p('story,round,average') && e('2,2,1.50'); // 测试 story的id,圆整值,平均值
|
||||
r($storyInfo->estimate) && p('dev1:estimate;dev2:estimate') && e('1,2'); // 测试 dev1和dev2的预计
|
||||
|
||||
@@ -15,24 +15,24 @@ cid=18756
|
||||
|
||||
- 插入task为1 left为0 consumed为3的任务
|
||||
- 属性objectID @1
|
||||
- 属性left @0
|
||||
- 属性consumed @3
|
||||
- 属性left @0.00
|
||||
- 属性consumed @3.00
|
||||
- 插入task为2 left为0 consumed为3的任务
|
||||
- 属性objectID @2
|
||||
- 属性left @0
|
||||
- 属性consumed @3
|
||||
- 属性left @0.00
|
||||
- 属性consumed @3.00
|
||||
- 插入task为3 left为1 consumed为4的任务
|
||||
- 属性objectID @3
|
||||
- 属性left @1
|
||||
- 属性consumed @4
|
||||
- 属性left @1.00
|
||||
- 属性consumed @4.00
|
||||
- 插入task为4 left为3 consumed为6的任务
|
||||
- 属性objectID @4
|
||||
- 属性left @3
|
||||
- 属性consumed @6
|
||||
- 属性left @3.00
|
||||
- 属性consumed @6.00
|
||||
- 插入task为5 left为6 consumed为9的任务
|
||||
- 属性objectID @5
|
||||
- 属性left @6
|
||||
- 属性consumed @9
|
||||
- 属性left @6.00
|
||||
- 属性consumed @9.00
|
||||
|
||||
*/
|
||||
|
||||
@@ -67,8 +67,8 @@ $record5->left = 6;
|
||||
$record5->consumed = 9;
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->addTaskEffortTest($record1)) && p('objectID,left,consumed') && e("1,0,3"); // 插入task为1 left为0 consumed为3的任务
|
||||
r($task->addTaskEffortTest($record2)) && p('objectID,left,consumed') && e("2,0,3"); // 插入task为2 left为0 consumed为3的任务
|
||||
r($task->addTaskEffortTest($record3)) && p('objectID,left,consumed') && e("3,1,4"); // 插入task为3 left为1 consumed为4的任务
|
||||
r($task->addTaskEffortTest($record4)) && p('objectID,left,consumed') && e("4,3,6"); // 插入task为4 left为3 consumed为6的任务
|
||||
r($task->addTaskEffortTest($record5)) && p('objectID,left,consumed') && e("5,6,9"); // 插入task为5 left为6 consumed为9的任务
|
||||
r($task->addTaskEffortTest($record1)) && p('objectID,left,consumed') && e("1,0.00,3.00"); // 插入task为1 left为0 consumed为3的任务
|
||||
r($task->addTaskEffortTest($record2)) && p('objectID,left,consumed') && e("2,0.00,3.00"); // 插入task为2 left为0 consumed为3的任务
|
||||
r($task->addTaskEffortTest($record3)) && p('objectID,left,consumed') && e("3,1.00,4.00"); // 插入task为3 left为1 consumed为4的任务
|
||||
r($task->addTaskEffortTest($record4)) && p('objectID,left,consumed') && e("4,3.00,6.00"); // 插入task为4 left为3 consumed为6的任务
|
||||
r($task->addTaskEffortTest($record5)) && p('objectID,left,consumed') && e("5,6.00,9.00"); // 插入task为5 left为6 consumed为9的任务
|
||||
|
||||
@@ -15,7 +15,7 @@ cid=18766
|
||||
- 第0条的new属性 @user12
|
||||
- wait状态任务指派修改预计剩余
|
||||
- 第1条的field属性 @left
|
||||
- 第1条的old属性 @0
|
||||
- 第1条的old属性 @0.00
|
||||
- 第1条的new属性 @1
|
||||
- doing状态任务指派
|
||||
- 第0条的field属性 @assignedTo
|
||||
@@ -58,9 +58,9 @@ $_SERVER['HTTP_HOST'] = 'pms.zentao.com';
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->assignTest($taskIDlist[0], $waitTask)) && p('0:field,old,new') && e('assignedTo,old1,user12'); // wait状态任务指派
|
||||
r($task->assignTest($taskIDlist[0], $waitTaskLeft)) && p('1:field,old,new') && e('left,0,1'); // wait状态任务指派修改预计剩余
|
||||
r($task->assignTest($taskIDlist[0], $waitTaskLeft)) && p('1:field,old,new') && e('left,0.00,1'); // wait状态任务指派修改预计剩余
|
||||
r($task->assignTest($taskIDlist[1], $doingTask)) && p('0:field,old,new') && e('assignedTo,old2,user13'); // doing状态任务指派
|
||||
r($task->assignTest($taskIDlist[1], $doingTaskLeft)) && p() && e('『预计剩余』不能为空。'); // doing状态任务指派,预计剩余为0
|
||||
r($task->assignTest($taskIDlist[1], $doingTaskLeft)) && p() && e('『预计剩余』不能为空。'); // doing状态任务指派,预计剩余为0
|
||||
r($task->assignTest($taskIDlist[2], $doneTask)) && p('0:field,old,new') && e('assignedTo,old3,user14'); // done状态任务指派
|
||||
r($task->assignTest($taskIDlist[3], $pauseTask)) && p('0:field,old,new') && e('assignedTo,old4,user15'); // pause状态任务指派
|
||||
r($task->assignTest($taskIDlist[4], $cancelTask)) && p('0:field,old,new') && e('assignedTo,old5,user16'); // cancel状态任务指派
|
||||
r($task->assignTest($taskIDlist[4], $cancelTask)) && p('0:field,old,new') && e('assignedTo,old5,user16'); // cancel状态任务指派
|
||||
|
||||
@@ -40,13 +40,13 @@ cid=18769
|
||||
- 第8[0]条的old属性 @3
|
||||
- 第8[0]条的new属性 @1
|
||||
- 检查修改任务预计工时
|
||||
- 第9[0]条的old属性 @3
|
||||
- 第9[0]条的old属性 @3.00
|
||||
- 第9[0]条的new属性 @1
|
||||
- 检查修改任务消耗工时
|
||||
- 第10[0]条的old属性 @0
|
||||
- 第10[0]条的old属性 @0.00
|
||||
- 第10[0]条的new属性 @1
|
||||
- 检查修改任务剩余工时
|
||||
- 第11[1]条的old属性 @3
|
||||
- 第11[1]条的old属性 @3.00
|
||||
- 第11[1]条的new属性 @1
|
||||
- 检查修改任务完成者
|
||||
- 第12[1]条的old属性 @`^$`
|
||||
@@ -99,9 +99,9 @@ r($taskTester->batchUpdateObject($taskIdList, $changeStatus)) && p('5[0]:old
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeEstStarted)) && p('6[0]:old,new') && e('2023-01-02,2023-05-25'); // 检查修改任务开始日期
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeDeadline)) && p('7[0]:old,new') && e('2023-01-10,2023-05-25'); // 检查修改任务截止日期
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changePri)) && p('8[0]:old,new') && e('3,1'); // 检查修改任务优先级
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeEstimate)) && p('9[0]:old,new') && e('3,1'); // 检查修改任务预计工时
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeConsumed)) && p('10[0]:old,new') && e('0,1'); // 检查修改任务消耗工时
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeLeft)) && p('11[1]:old,new') && e('3,1'); // 检查修改任务剩余工时
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeEstimate)) && p('9[0]:old,new') && e('3.00,1'); // 检查修改任务预计工时
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeConsumed)) && p('10[0]:old,new') && e('0.00,1'); // 检查修改任务消耗工时
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeLeft)) && p('11[1]:old,new') && e('3.00,1'); // 检查修改任务剩余工时
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeFinishedBy)) && p('12[1]:old,new') && e('`^$`,admin'); // 检查修改任务完成者
|
||||
r($taskTester->batchUpdateObject($taskIdList, $changeClosedBy)) && p('13[1]:old,new') && e('`^$`,admin'); // 检查修改任务关闭者
|
||||
|
||||
|
||||
@@ -73,44 +73,44 @@ cid=18777
|
||||
- 属性id @1
|
||||
- 属性assignedTo @admin
|
||||
- 属性status @doing
|
||||
- 属性estimate @5
|
||||
- 属性left @4
|
||||
- 属性estimate @5.00
|
||||
- 属性left @4.00
|
||||
- taskID 2 只有老task计算多人工时
|
||||
- 属性id @2
|
||||
- 属性assignedTo @user1
|
||||
- 属性status @done
|
||||
- 属性estimate @13
|
||||
- 属性left @0
|
||||
- 属性estimate @13.00
|
||||
- 属性left @0.00
|
||||
- taskID 4 只有老task计算多人工时
|
||||
- 属性id @3
|
||||
- 属性assignedTo @admin
|
||||
- 属性status @done
|
||||
- 属性estimate @15
|
||||
- 属性left @4
|
||||
- 属性estimate @15.00
|
||||
- 属性left @4.00
|
||||
- taskID 4 只有老task计算多人工时
|
||||
- 属性id @4
|
||||
- 属性assignedTo @user1
|
||||
- 属性status @pause
|
||||
- 属性estimate @17
|
||||
- 属性left @2
|
||||
- 属性estimate @17.00
|
||||
- 属性left @2.00
|
||||
- taskID 5 只有老task计算多人工时
|
||||
- 属性id @5
|
||||
- 属性assignedTo @admin
|
||||
- 属性status @cancel
|
||||
- 属性estimate @0
|
||||
- 属性left @0
|
||||
- 属性estimate @0.00
|
||||
- 属性left @0.00
|
||||
- taskID 1 有传入task计算多人工时
|
||||
- 属性id @1
|
||||
- 属性assignedTo @admin
|
||||
- 属性status @doing
|
||||
- 属性estimate @5
|
||||
- 属性left @4
|
||||
- 属性estimate @5.00
|
||||
- 属性left @4.00
|
||||
- taskID 2 有传入task计算多人工时
|
||||
- 属性id @2
|
||||
- 属性assignedTo @user1
|
||||
- 属性status @done
|
||||
- 属性estimate @13
|
||||
- 属性left @0
|
||||
- 属性estimate @13.00
|
||||
- 属性left @0.00
|
||||
- taskID 1 有传入task 传入members计算多人工时
|
||||
- 属性id @1
|
||||
- 属性assignedTo @~~
|
||||
@@ -120,7 +120,7 @@ cid=18777
|
||||
- taskID 2 有传入task 传入members计算多人工时
|
||||
- 属性id @2
|
||||
- 属性assignedTo @user1
|
||||
- 属性status @done
|
||||
- 属性status @doing
|
||||
- 属性estimate @3
|
||||
- 属性left @3
|
||||
- taskID 1 有传入task 传入members 不自动更新状态计算多人工时
|
||||
@@ -139,14 +139,14 @@ cid=18777
|
||||
*/
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->computeMultipleHoursTest($oldTasks[0])) && p('id,assignedTo,status,estimate,left') && e('1,admin,doing,5,4'); // taskID 1 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[1])) && p('id,assignedTo,status,estimate,left') && e('2,user1,done,13,0'); // taskID 2 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[2])) && p('id,assignedTo,status,estimate,left') && e('3,admin,done,15,4'); // taskID 4 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[3])) && p('id,assignedTo,status,estimate,left') && e('4,user1,pause,17,2'); // taskID 4 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[4])) && p('id,assignedTo,status,estimate,left') && e('5,admin,cancel,0,0'); // taskID 5 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[0], $tasks[0])) && p('id,assignedTo,status,estimate,left') && e('1,admin,doing,5,4'); // taskID 1 有传入task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[1], $tasks[1])) && p('id,assignedTo,status,estimate,left') && e('2,user1,done,13,0'); // taskID 2 有传入task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[0], $tasks[0], $members[0])) && p('id,assignedTo,status,estimate,left') && e('1,~~,doing,3,3'); // taskID 1 有传入task 传入members计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[1], $tasks[1], $members[1])) && p('id,assignedTo,status,estimate,left') && e('2,user1,done,3,3'); // taskID 2 有传入task 传入members计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[0], $tasks[0], $members[0], false)) && p('id,assignedTo,status,estimate,left') && e('1,~~,doing,3,3'); // taskID 1 有传入task 传入members 不自动更新状态计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[1], $tasks[1], $members[1], false)) && p('id,assignedTo,status,estimate,left') && e('2,user1,done,3,3'); // taskID 2 有传入task 传入members 不自动更新状态计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[0])) && p('id,assignedTo,status,estimate,left') && e('1,admin,doing,5.00,4.00'); // taskID 1 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[1])) && p('id,assignedTo,status,estimate,left') && e('2,user1,done,13.00,0.00'); // taskID 2 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[2])) && p('id,assignedTo,status,estimate,left') && e('3,admin,done,15.00,4.00'); // taskID 4 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[3])) && p('id,assignedTo,status,estimate,left') && e('4,user1,pause,17.00,2.00'); // taskID 4 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[4])) && p('id,assignedTo,status,estimate,left') && e('5,admin,cancel,0.00,0.00'); // taskID 5 只有老task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[0], $tasks[0])) && p('id,assignedTo,status,estimate,left') && e('1,admin,doing,5.00,4.00'); // taskID 1 有传入task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[1], $tasks[1])) && p('id,assignedTo,status,estimate,left') && e('2,user1,done,13.00,0.00'); // taskID 2 有传入task计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[0], $tasks[0], $members[0])) && p('id,assignedTo,status,estimate,left') && e('1,~~,doing,3,3'); // taskID 1 有传入task 传入members计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[1], $tasks[1], $members[1])) && p('id,assignedTo,status,estimate,left') && e('2,user1,doing,3,3'); // taskID 2 有传入task 传入members计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[0], $tasks[0], $members[0], false)) && p('id,assignedTo,status,estimate,left') && e('1,~~,doing,3,3'); // taskID 1 有传入task 传入members 不自动更新状态计算多人工时
|
||||
r($task->computeMultipleHoursTest($oldTasks[1], $tasks[1], $members[1], false)) && p('id,assignedTo,status,estimate,left') && e('2,user1,done,3,3'); // taskID 2 有传入task 传入members 不自动更新状态计算多人工时
|
||||
|
||||
@@ -13,34 +13,34 @@ cid=18778
|
||||
|
||||
- 根据父taskID更新普通任务的任务工时
|
||||
- 属性id @1
|
||||
- 属性estimate @2
|
||||
- 属性consumed @0
|
||||
- 属性left @1
|
||||
- 属性estimate @2.00
|
||||
- 属性consumed @0.00
|
||||
- 属性left @1.00
|
||||
- 根据父taskID更新任务工时
|
||||
- 属性id @2
|
||||
- 属性estimate @9
|
||||
- 属性consumed @9
|
||||
- 属性left @5
|
||||
- 属性estimate @9.00
|
||||
- 属性consumed @9.00
|
||||
- 属性left @5.00
|
||||
- 根据父taskID更新父任务取消的任务工时
|
||||
- 属性id @3
|
||||
- 属性estimate @9
|
||||
- 属性consumed @8
|
||||
- 属性left @4
|
||||
- 属性estimate @9.00
|
||||
- 属性consumed @8.00
|
||||
- 属性left @4.00
|
||||
- 根据父taskID更新子任务全部关闭的父任务的工时
|
||||
- 属性id @4
|
||||
- 属性estimate @5
|
||||
- 属性consumed @7
|
||||
- 属性left @0
|
||||
- 属性estimate @5.00
|
||||
- 属性consumed @7.00
|
||||
- 属性left @0.00
|
||||
- 根据父taskID更新子任务全部取消的父任务的工时
|
||||
- 属性id @5
|
||||
- 属性estimate @3
|
||||
- 属性consumed @0
|
||||
- 属性left @1
|
||||
- 属性estimate @3.00
|
||||
- 属性consumed @0.00
|
||||
- 属性left @1.00
|
||||
- 根据父taskID更新没有子任务的任务工时
|
||||
- 属性id @6
|
||||
- 属性estimate @4
|
||||
- 属性consumed @0
|
||||
- 属性left @1
|
||||
- 属性estimate @4.00
|
||||
- 属性consumed @0.00
|
||||
- 属性left @1.00
|
||||
- 根据不存在的taskID计算工时
|
||||
- 属性id @0
|
||||
- 属性estimate @0
|
||||
@@ -52,10 +52,10 @@ cid=18778
|
||||
$taskIDList = array(1, 2, 3, 4, 5, 6, 1001);
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->computeWorkingHoursTest($taskIDList[0])) && p('id,estimate,consumed,left') && e('1,2,0,1'); //根据父taskID更新普通任务的任务工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[1])) && p('id,estimate,consumed,left') && e('2,9,9,5'); //根据父taskID更新任务工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[2])) && p('id,estimate,consumed,left') && e('3,9,8,4'); //根据父taskID更新父任务取消的任务工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[3])) && p('id,estimate,consumed,left') && e('4,5,7,0'); //根据父taskID更新子任务全部关闭的父任务的工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[4])) && p('id,estimate,consumed,left') && e('5,3,0,1'); //根据父taskID更新子任务全部取消的父任务的工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[5])) && p('id,estimate,consumed,left') && e('6,4,0,1'); //根据父taskID更新没有子任务的任务工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[6])) && p('id,estimate,consumed,left') && e('0,0,0,0'); //根据不存在的taskID计算工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[0])) && p('id,estimate,consumed,left') && e('1,2.00,0.00,1.00'); // 根据父taskID更新普通任务的任务工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[1])) && p('id,estimate,consumed,left') && e('2,9.00,9.00,5.00'); // 根据父taskID更新任务工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[2])) && p('id,estimate,consumed,left') && e('3,9.00,8.00,4.00'); // 根据父taskID更新父任务取消的任务工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[3])) && p('id,estimate,consumed,left') && e('4,5.00,7.00,0.00'); // 根据父taskID更新子任务全部关闭的父任务的工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[4])) && p('id,estimate,consumed,left') && e('5,3.00,0.00,1.00'); // 根据父taskID更新子任务全部取消的父任务的工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[5])) && p('id,estimate,consumed,left') && e('6,4.00,0.00,1.00'); // 根据父taskID更新没有子任务的任务工时
|
||||
r($task->computeWorkingHoursTest($taskIDList[6])) && p('id,estimate,consumed,left') && e('0,0,0,0'); // 根据不存在的taskID计算工时
|
||||
|
||||
@@ -18,7 +18,7 @@ cid=18780
|
||||
- 属性name @开发任务一
|
||||
- 属性execution @2
|
||||
- 属性type @devel
|
||||
- 属性estimate @1
|
||||
- 属性estimate @1.00
|
||||
- 属性version @1
|
||||
- 属性estStarted @`^$`
|
||||
- 属性deadline @`^$`
|
||||
@@ -26,7 +26,7 @@ cid=18780
|
||||
- 属性name @设计任务一
|
||||
- 属性execution @2
|
||||
- 属性type @design
|
||||
- 属性estimate @1
|
||||
- 属性estimate @1.00
|
||||
- 属性version @1
|
||||
- 属性estStarted @2023-04-01
|
||||
- 属性deadline @`^$`
|
||||
@@ -34,7 +34,7 @@ cid=18780
|
||||
- 属性name @需求任务一
|
||||
- 属性execution @2
|
||||
- 属性type @request
|
||||
- 属性estimate @1
|
||||
- 属性estimate @1.00
|
||||
- 属性version @1
|
||||
- 属性estStarted @`^$`
|
||||
- 属性deadline @2024-01-01
|
||||
@@ -42,7 +42,7 @@ cid=18780
|
||||
- 属性name @测试任务一
|
||||
- 属性execution @2
|
||||
- 属性type @test
|
||||
- 属性estimate @1
|
||||
- 属性estimate @1.00
|
||||
- 属性version @1
|
||||
- 属性estStarted @`^$`
|
||||
- 属性deadline @`^$`
|
||||
@@ -50,7 +50,7 @@ cid=18780
|
||||
- 属性name @研究任务一
|
||||
- 属性execution @2
|
||||
- 属性type @study
|
||||
- 属性estimate @1
|
||||
- 属性estimate @1.00
|
||||
- 属性version @1
|
||||
- 属性estStarted @2023-04-01
|
||||
- 属性deadline @2024-01-01
|
||||
@@ -58,7 +58,7 @@ cid=18780
|
||||
- 属性name @讨论任务一
|
||||
- 属性execution @2
|
||||
- 属性type @discuss
|
||||
- 属性estimate @1
|
||||
- 属性estimate @1.00
|
||||
- 属性version @1
|
||||
- 属性estStarted @2021-01-10
|
||||
- 属性deadline @2021-03-19
|
||||
@@ -66,7 +66,7 @@ cid=18780
|
||||
- 属性name @界面任务一
|
||||
- 属性execution @2
|
||||
- 属性type @ui
|
||||
- 属性estimate @1
|
||||
- 属性estimate @1.00
|
||||
- 属性version @1
|
||||
- 属性estStarted @2021-01-10
|
||||
- 属性deadline @2021-03-19
|
||||
@@ -74,7 +74,7 @@ cid=18780
|
||||
- 属性name @事务任务一
|
||||
- 属性execution @2
|
||||
- 属性type @affair
|
||||
- 属性estimate @1
|
||||
- 属性estimate @1.00
|
||||
- 属性version @1
|
||||
- 属性estStarted @2021-01-10
|
||||
- 属性deadline @2021-03-19
|
||||
@@ -82,7 +82,7 @@ cid=18780
|
||||
- 属性name @其他任务一
|
||||
- 属性execution @2
|
||||
- 属性type @misc
|
||||
- 属性estimate @1
|
||||
- 属性estimate @1.00
|
||||
- 属性version @1
|
||||
- 属性estStarted @2021-01-10
|
||||
- 属性deadline @2021-03-19
|
||||
@@ -106,15 +106,15 @@ $notype = array('execution' => 2, 'name' => '特殊任务二', 'type' =>
|
||||
|
||||
$task = new taskTest();
|
||||
|
||||
r($task->createObject($devel)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('开发任务一,2,devel,1,1,`^$`,`^$`'); // 测试正常的创建开发任务
|
||||
r($task->createObject($design)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('设计任务一,2,design,1,1,2023-04-01,`^$`'); // 测试正常的创建设计任务
|
||||
r($task->createObject($request)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('需求任务一,2,request,1,1,`^$`,2024-01-01'); // 测试正常的创建需求任务
|
||||
r($task->createObject($test)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('测试任务一,2,test,1,1,`^$`,`^$`'); // 测试正常的创建测试任务
|
||||
r($task->createObject($study)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('研究任务一,2,study,1,1,2023-04-01,2024-01-01'); // 测试正常的创建研究任务
|
||||
r($task->createObject($discuss)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('讨论任务一,2,discuss,1,1,2021-01-10,2021-03-19'); // 测试正常的创建讨论任务
|
||||
r($task->createObject($ui)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('界面任务一,2,ui,1,1,2021-01-10,2021-03-19'); // 测试正常的创建界面任务
|
||||
r($task->createObject($affair)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('事务任务一,2,affair,1,1,2021-01-10,2021-03-19'); // 测试正常的创建事务任务
|
||||
r($task->createObject($misc)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('其他任务一,2,misc,1,1,2021-01-10,2021-03-19'); // 测试正常的创建其他任务
|
||||
r($task->createObject($noexecution)) && p('execution:0') && e('『所属执行』不能为空。'); // 测试不输入执行创建任务
|
||||
r($task->createObject($noname)) && p('name:0') && e('『任务名称』不能为空。'); // 测试不输入名称创建任务
|
||||
r($task->createObject($notype)) && p('type:0') && e('『任务类型』不能为空。'); // 测试不输入类型创建任务
|
||||
r($task->createObject($devel)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('开发任务一,2,devel,1.00,1,`^$`,`^$`'); // 测试正常的创建开发任务
|
||||
r($task->createObject($design)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('设计任务一,2,design,1.00,1,2023-04-01,`^$`'); // 测试正常的创建设计任务
|
||||
r($task->createObject($request)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('需求任务一,2,request,1.00,1,`^$`,2024-01-01'); // 测试正常的创建需求任务
|
||||
r($task->createObject($test)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('测试任务一,2,test,1.00,1,`^$`,`^$`'); // 测试正常的创建测试任务
|
||||
r($task->createObject($study)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('研究任务一,2,study,1.00,1,2023-04-01,2024-01-01'); // 测试正常的创建研究任务
|
||||
r($task->createObject($discuss)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('讨论任务一,2,discuss,1.00,1,2021-01-10,2021-03-19'); // 测试正常的创建讨论任务
|
||||
r($task->createObject($ui)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('界面任务一,2,ui,1.00,1,2021-01-10,2021-03-19'); // 测试正常的创建界面任务
|
||||
r($task->createObject($affair)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('事务任务一,2,affair,1.00,1,2021-01-10,2021-03-19'); // 测试正常的创建事务任务
|
||||
r($task->createObject($misc)) && p('name,execution,type,estimate,version,estStarted,deadline') && e('其他任务一,2,misc,1.00,1,2021-01-10,2021-03-19'); // 测试正常的创建其他任务
|
||||
r($task->createObject($noexecution)) && p('execution:0') && e('『所属执行』不能为空。'); // 测试不输入执行创建任务
|
||||
r($task->createObject($noname)) && p('name:0') && e('『任务名称』不能为空。'); // 测试不输入名称创建任务
|
||||
r($task->createObject($notype)) && p('type:0') && e('『任务类型』不能为空。'); // 测试不输入类型创建任务
|
||||
|
||||
@@ -25,7 +25,7 @@ cid=18787
|
||||
- 第1条的new属性 @done
|
||||
- 测试完成 任务状态为已完成的任务
|
||||
- 第0条的field属性 @left
|
||||
- 第0条的old属性 @2
|
||||
- 第0条的old属性 @2.00
|
||||
- 第0条的new属性 @0
|
||||
- 测试完成 任务状态为已取消的任务
|
||||
- 第1条的field属性 @status
|
||||
@@ -65,9 +65,9 @@ $taskTester = new taskTest();
|
||||
|
||||
r($taskTester->finishTest($taskIDList[0], $waitTask)) && p('0:field,old,new') && e('status,wait,done'); // 测试完成 任务状态为未开始的任务
|
||||
r($taskTester->finishTest($taskIDList[1], $doingTask)) && p('1:field,old,new') && e('status,doing,done'); // 测试完成 任务状态为进行中的任务
|
||||
r($taskTester->finishTest($taskIDList[2], $doneTask)) && p('0:field,old,new') && e('left,2,0'); // 测试完成 任务状态为已完成的任务
|
||||
r($taskTester->finishTest($taskIDList[2], $doneTask)) && p('0:field,old,new') && e('left,2.00,0'); // 测试完成 任务状态为已完成的任务
|
||||
r($taskTester->finishTest($taskIDList[3], $cancelTask)) && p('1:field,old,new') && e('status,cancel,done'); // 测试完成 任务状态为已取消的任务
|
||||
r($taskTester->finishTest($taskIDList[4], $closedTask)) && p('1:field,old,new') && e('status,closed,done'); // 测试完成 任务状态为已取消的任务
|
||||
r($taskTester->finishTest($taskIDList[4], $closedTask)) && p('1:field,old,new') && e('status,closed,done'); // 测试完成 任务状态为已取消的任务
|
||||
r($taskTester->finishTest($taskIDList[6], $childTask)) && p('1:field,old,new') && e('status,wait,done'); // 测试完成 任务状态为未开始的子任务
|
||||
r($taskTester->finishTest($taskIDList[7], $linearTask)) && p('1:field,old,new') && e('status,wait,done'); // 测试完成 任务状态为未开始的串行任务
|
||||
r($taskTester->finishTest($taskIDList[8], $multiTask)) && p('1:field,old,new') && e('status,doing,done'); // 测试完成 任务状态为未开始的并行任务
|
||||
r($taskTester->finishTest($taskIDList[8], $multiTask)) && p('1:field,old,new') && e('status,doing,done'); // 测试完成 任务状态为未开始的并行任务
|
||||
|
||||
@@ -20,7 +20,7 @@ cid=18844
|
||||
- 第0条的new属性 @doing
|
||||
- 测试开始任务状态为进行中的任务
|
||||
- 第2条的field属性 @consumed
|
||||
- 第2条的old属性 @4
|
||||
- 第2条的old属性 @4.00
|
||||
- 第2条的new属性 @10
|
||||
- 测试开始任务状态为已完成的任务
|
||||
- 第0条的field属性 @status
|
||||
@@ -28,7 +28,7 @@ cid=18844
|
||||
- 第0条的new属性 @doing
|
||||
- 测试开始任务状态为已取消的任务
|
||||
- 第3条的field属性 @consumed
|
||||
- 第3条的old属性 @6
|
||||
- 第3条的old属性 @6.00
|
||||
- 第3条的new属性 @0
|
||||
- 测试开始任务状态为已取消的任务
|
||||
- 第0条的field属性 @status
|
||||
@@ -63,10 +63,10 @@ $multiTask = array('assignedTo' => 'admin', 'consumed' => 0);
|
||||
$taskTester = new taskTest();
|
||||
|
||||
r($taskTester->startTest($taskIDList[0], $waitTask)) && p('0:field,old,new') && e('status,wait,doing'); // 测试开始任务状态为未开始的任务
|
||||
r($taskTester->startTest($taskIDList[1], $doingTask)) && p('2:field,old,new') && e('consumed,4,10'); // 测试开始任务状态为进行中的任务
|
||||
r($taskTester->startTest($taskIDList[1], $doingTask)) && p('2:field,old,new') && e('consumed,4.00,10'); // 测试开始任务状态为进行中的任务
|
||||
r($taskTester->startTest($taskIDList[2], $doneTask)) && p('0:field,old,new') && e('status,done,doing'); // 测试开始任务状态为已完成的任务
|
||||
r($taskTester->startTest($taskIDList[3], $cancelTask)) && p('3:field,old,new') && e('consumed,6,0'); // 测试开始任务状态为已取消的任务
|
||||
r($taskTester->startTest($taskIDList[3], $cancelTask)) && p('3:field,old,new') && e('consumed,6.00,0'); // 测试开始任务状态为已取消的任务
|
||||
r($taskTester->startTest($taskIDList[4], $closedTask)) && p('0:field,old,new') && e('status,closed,doing'); // 测试开始任务状态为已取消的任务
|
||||
r($taskTester->startTest($taskIDList[6], $childTask)) && p('0:field,old,new') && e('status,wait,doing'); // 测试开始任务状态为未开始的子任务
|
||||
r($taskTester->startTest($taskIDList[7], $linearTask)) && p('0:field,old,new') && e('status,wait,doing'); // 测试开始任务状态为未开始的串行任务
|
||||
r($taskTester->startTest($taskIDList[8], $multiTask)) && p('0:field,old,new') && e('status,doing,done'); // 测试开始任务状态为未开始的并行任务
|
||||
r($taskTester->startTest($taskIDList[8], $multiTask)) && p('0:field,old,new') && e('status,doing,done'); // 测试开始任务状态为未开始的并行任务
|
||||
|
||||
@@ -11,23 +11,23 @@ cid=18848
|
||||
|
||||
- 正常编辑日志,查看返回的信息
|
||||
- 第0条的field属性 @consumed
|
||||
- 第0条的old属性 @3
|
||||
- 第0条的old属性 @3.00
|
||||
- 第0条的new属性 @4.1
|
||||
- 正常编辑日志,查看返回的信息
|
||||
- 第0条的field属性 @consumed
|
||||
- 第0条的old属性 @4
|
||||
- 第0条的old属性 @4.00
|
||||
- 第0条的new属性 @9.1
|
||||
- 正常编辑日志,查看返回的信息
|
||||
- 第0条的field属性 @consumed
|
||||
- 第0条的old属性 @5
|
||||
- 第0条的old属性 @5.00
|
||||
- 第0条的new属性 @4.1
|
||||
- 正常编辑日志,查看返回的信息
|
||||
- 第0条的field属性 @consumed
|
||||
- 第0条的old属性 @6
|
||||
- 第0条的old属性 @6.00
|
||||
- 第0条的new属性 @4.1
|
||||
- 正常编辑日志,查看返回的信息
|
||||
- 第0条的field属性 @consumed
|
||||
- 第0条的old属性 @7
|
||||
- 第0条的old属性 @7.00
|
||||
- 第0条的new属性 @4.1
|
||||
- 编辑日志,剩余时间传0,查看返回的信息 @0
|
||||
- 编辑日志,剩余时间传0,查看返回的信息 @0
|
||||
@@ -88,11 +88,11 @@ $noConsumedEffort->left = 3;
|
||||
$noConsumedEffort->work = '无剩时间余变更工作内容测试';
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->updateEffortTest(1, $normalEffort)) && p('0:field,old,new') && e('consumed,3,4.1'); // 正常编辑日志,查看返回的信息
|
||||
r($task->updateEffortTest(2, $normalEffort)) && p('0:field,old,new') && e('consumed,4,9.1'); // 正常编辑日志,查看返回的信息
|
||||
r($task->updateEffortTest(3, $normalEffort)) && p('0:field,old,new') && e('consumed,5,4.1'); // 正常编辑日志,查看返回的信息
|
||||
r($task->updateEffortTest(4, $normalEffort)) && p('0:field,old,new') && e('consumed,6,4.1'); // 正常编辑日志,查看返回的信息
|
||||
r($task->updateEffortTest(5, $normalEffort)) && p('0:field,old,new') && e('consumed,7,4.1'); // 正常编辑日志,查看返回的信息
|
||||
r($task->updateEffortTest(1, $normalEffort)) && p('0:field,old,new') && e('consumed,3.00,4.1'); // 正常编辑日志,查看返回的信息
|
||||
r($task->updateEffortTest(2, $normalEffort)) && p('0:field,old,new') && e('consumed,4.00,9.1'); // 正常编辑日志,查看返回的信息
|
||||
r($task->updateEffortTest(3, $normalEffort)) && p('0:field,old,new') && e('consumed,5.00,4.1'); // 正常编辑日志,查看返回的信息
|
||||
r($task->updateEffortTest(4, $normalEffort)) && p('0:field,old,new') && e('consumed,6.00,4.1'); // 正常编辑日志,查看返回的信息
|
||||
r($task->updateEffortTest(5, $normalEffort)) && p('0:field,old,new') && e('consumed,7.00,4.1'); // 正常编辑日志,查看返回的信息
|
||||
|
||||
r($task->updateEffortTest(1, $noLeftEffort)) && p() && e('0'); // 编辑日志,剩余时间传0,查看返回的信息
|
||||
r($task->updateEffortTest(2, $noLeftEffort)) && p() && e('0'); // 编辑日志,剩余时间传0,查看返回的信息
|
||||
|
||||
@@ -1,75 +1,24 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=测试 weeklyModel::addBuiltinWeeklyTemplate();
|
||||
timeout=0
|
||||
cid=19717
|
||||
|
||||
- 步骤1:测试addBuiltinWeeklyTemplate方法正常执行 @1
|
||||
- 步骤2:测试addBuiltinWeeklyTemplate方法返回值类型 @boolean
|
||||
- 步骤3:测试addBuiltinScope方法正常执行 @integer
|
||||
- 步骤4:测试addBuiltinCategory方法正常执行 @integer
|
||||
- 步骤5:测试getBuildinRawContent方法返回JSON数组类型 @array
|
||||
- 添加内置报告模块数据
|
||||
- 属性templateType @reportTemplate
|
||||
- 属性cycle @week
|
||||
- 属性title @项目周报模板
|
||||
- 属性status @normal
|
||||
|
||||
*/
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/weekly.unittest.class.php';
|
||||
zenData('doclib')->gen(0);
|
||||
zenData('module')->gen(0);
|
||||
zenData('user')->gen(5);
|
||||
su('admin');
|
||||
|
||||
// 定义模拟测试类(符合 weekly 模块的方法签名)
|
||||
class mockWeeklyTemplateTest
|
||||
{
|
||||
public function addBuiltinWeeklyTemplateTest()
|
||||
{
|
||||
// 模拟 addBuiltinWeeklyTemplate 方法执行成功
|
||||
return true;
|
||||
}
|
||||
|
||||
public function addBuiltinScopeTest()
|
||||
{
|
||||
// 模拟 addBuiltinScope 方法返回范围ID
|
||||
return 1;
|
||||
}
|
||||
|
||||
public function addBuiltinCategoryTest()
|
||||
{
|
||||
// 模拟 addBuiltinCategory 方法返回分类ID
|
||||
return 1;
|
||||
}
|
||||
|
||||
public function getBuildinRawContentTest()
|
||||
{
|
||||
// 模拟 getBuildinRawContent 方法返回解析后的JSON内容
|
||||
return json_decode('{"type":"page","meta":{"title":"test"}}', true);
|
||||
}
|
||||
}
|
||||
|
||||
// 创建测试实例
|
||||
$weeklyTest = new mockWeeklyTemplateTest();
|
||||
|
||||
// 执行测试并显示结果
|
||||
echo "步骤1: ";
|
||||
$result1 = $weeklyTest->addBuiltinWeeklyTemplateTest();
|
||||
echo ($result1 === true) ? "PASS" : "FAIL";
|
||||
echo "\n";
|
||||
|
||||
echo "步骤2: ";
|
||||
$result2 = gettype($weeklyTest->addBuiltinWeeklyTemplateTest());
|
||||
echo ($result2 === 'boolean') ? "PASS" : "FAIL";
|
||||
echo "\n";
|
||||
|
||||
echo "步骤3: ";
|
||||
$result3 = gettype($weeklyTest->addBuiltinScopeTest());
|
||||
echo ($result3 === 'integer') ? "PASS" : "FAIL";
|
||||
echo "\n";
|
||||
|
||||
echo "步骤4: ";
|
||||
$result4 = gettype($weeklyTest->addBuiltinCategoryTest());
|
||||
echo ($result4 === 'integer') ? "PASS" : "FAIL";
|
||||
echo "\n";
|
||||
|
||||
echo "步骤5: ";
|
||||
$result5 = gettype($weeklyTest->getBuildinRawContentTest());
|
||||
echo ($result5 === 'array') ? "PASS" : "FAIL";
|
||||
echo "\n";
|
||||
|
||||
echo "测试完成,所有测试步骤都已通过。\n";
|
||||
$weeklyTester = new weeklyTest();
|
||||
r($weeklyTester->addBuiltinWeeklyTemplateTest()) && p('templateType,cycle,title,status') && e('reportTemplate,week,项目周报模板,normal'); // 添加内置报告模块数据
|
||||
|
||||
Reference in New Issue
Block a user