+ Add unit tests for the task start method.

This commit is contained in:
tianshujie
2023-05-15 14:16:14 +08:00
parent 0a30c7158b
commit 075dd67719
16 changed files with 331 additions and 134 deletions
+26 -47
View File
@@ -2,60 +2,39 @@
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/task.class.php';
$task = zdTable('task');
$task->id->range('1-4');
$task->name->range('并行任务,串行任务1,串行任务2,普通任务');
$task->mode->range('multi,linear{2},[]');
$task->status->range('done,doing,done,wait');
$task->assignedTo->range('admin');
$task->openedBy->range('dev01');
$task->gen(4);
$taskTeam = zdTable('taskteam');
$taskTeam->id->range('1-7');
$taskTeam->task->range('1{2},2{3},3{2}');
$taskTeam->account->range('admin,dev01,admin,dev01,dev02,admin,dev01');
$taskTeam->estimate->range('1{2},2{3},1{2}');
$taskTeam->left->range('1{2},1{3},1{2}');
$taskTeam->status->range('done{3},doing,wait,done{2}');
$taskTeam->gen(7);
su('admin');
/**
title=taskModel->getAssignedTo4Multi();
timeout=0
cid=1
pid=1
获取非多人任务的指派给 >> admin
获取非串行多人任务的指派给 >> null
获取串行多人任务的指派给 >> admin
获取排除已经完成的串行多人任务的指派给 >> dev1
获取串行多人任务的下一个指派给 >> admin
获取已经完成的串行多人任务的指派给 >> dev1
*/
$user = new stdclass();
$user->account = 'admin';
$user->status = 'wait';
$user->order = '0';
$users[] = $user;
$taskTester = new taskTest();
$user = new stdclass();
$user->account = 'dev1';
$user->status = 'wait';
$user->order = '1';
$users[] = $user;
$user = new stdclass();
$user->account = 'admin';
$user->status = 'wait';
$user->order = '2';
$users[] = $user;
$task = new stdclass();
$task->mode = '';
$task->openedBy = 'dev1';
$task->assignedTo = 'admin';
$taskTest = new taskTest();
r($taskTest->getAssignedTo4Multi($users, $task)) && p() && e('admin'); //获取非多人任务的指派给
$task->mode = 'multi';
$task->team = $users;
r($taskTest->getAssignedTo4Multi($users, $task)) && p() && e('admin'); //获取非串行多人任务的指派给
$task->mode = 'linear';
r($taskTest->getAssignedTo4Multi($users, $task)) && p() && e('admin'); //获取串行多人任务的指派给
$users[0]->status = 'done';
r($taskTest->getAssignedTo4Multi($users, $task)) && p() && e('dev1'); //获取排除已经完成的串行多人任务的指派给
r($taskTest->getAssignedTo4Multi($users, $task, 'next')) && p() && e('admin'); //获取串行多人任务的下一个指派给
$users[1]->status = 'done';
$users[2]->status = 'done';
r($taskTest->getAssignedTo4Multi($users, $task)) && p() && e('dev1'); //获取已经完成的串行多人任务的指派给
$taskIdList = range(1, 4);
r($taskTester->getAssignedTo4MultiTest($taskIdList[0])) && p() && e('admin'); // 测试获取并行任务的指派人
r($taskTester->getAssignedTo4MultiTest($taskIdList[1])) && p() && e('dev01'); // 测试获取串行任务的当前指派人
r($taskTester->getAssignedTo4MultiTest($taskIdList[1], 'next')) && p() && e('dev02'); // 测试获取并行任务的下一个指派人
r($taskTester->getAssignedTo4MultiTest($taskIdList[2])) && p() && e('dev01'); // 测试获取已完成的串行任务的当前指派人
r($taskTester->getAssignedTo4MultiTest($taskIdList[3])) && p() && e('admin'); // 测试获取普通任务的指派人