* add unit test for task.
This commit is contained in:
@@ -759,6 +759,7 @@ class taskModel extends model
|
||||
*
|
||||
* @param object $oldTask
|
||||
* @param object $task
|
||||
* @param array $team
|
||||
* @param bool $autoStatus
|
||||
* @access public
|
||||
* @return object|bool
|
||||
@@ -3675,7 +3676,7 @@ class taskModel extends model
|
||||
public function getAssignedTo4Multi($users, $task, $type = 'current')
|
||||
{
|
||||
if(empty($task->team)) return $task->assignedTo;
|
||||
if($task->mode != 'linear') return $task->assignedTo;
|
||||
if($task->mode != 'linear') return '';
|
||||
|
||||
$teamHours = array_values($task->team);
|
||||
|
||||
|
||||
+20
-12
@@ -1378,25 +1378,33 @@ class taskTest
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get next user.
|
||||
* Test for get team by account.
|
||||
*
|
||||
* @param array $users
|
||||
* @param string $account
|
||||
* @param string $filter
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getTeamByAccount($users, $account, $filter = 'done')
|
||||
{
|
||||
$object = $this->objectModel->getTeamByAccount($users, $account, $filter);
|
||||
if(empty($object)) return '_';
|
||||
return $object->account . '_' . $object->status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get assignedTo for multi task.
|
||||
*
|
||||
* @param array $users
|
||||
* @param string $current
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getNextUserTest($users, $current)
|
||||
public function getAssignedTo4Multi($users, $task, $type = 'current')
|
||||
{
|
||||
$object = $this->objectModel->getNextUser($users, $current);
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
return dao::getError();
|
||||
}
|
||||
else
|
||||
{
|
||||
return $object;
|
||||
}
|
||||
$assignedTo = $this->objectModel->getAssignedTo4Multi($users, $task, $type);
|
||||
return empty($assignedTo) ? 'null' : $assignedTo;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/task.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=taskModel->getAssignedTo4Multi();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取非多人任务的指派给 >> admin
|
||||
获取非串行多人任务的指派给 >> null
|
||||
获取串行多人任务的指派给 >> admin
|
||||
获取排除已经完成的串行多人任务的指派给 >> dev1
|
||||
获取串行多人任务的下一个指派给 >> admin
|
||||
获取已经完成的串行多人任务的指派给 >> dev1
|
||||
|
||||
*/
|
||||
|
||||
$user = new stdclass();
|
||||
$user->account = 'admin';
|
||||
$user->status = 'wait';
|
||||
$user->order = '0';
|
||||
$users[] = $user;
|
||||
|
||||
$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'); //获取已经完成的串行多人任务的指派给
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/task.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=taskModel->getDataOfTasksPerEstimate();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
计算current为0的下一个用户 >> user1
|
||||
计算current为1的下一个用户 >> user2
|
||||
计算current为2的下一个用户 >> po1
|
||||
计算current为3的下一个用户 >> po2
|
||||
计算current为4的下一个用户 >> pm1
|
||||
计算current为5的下一个用户 >> pm2
|
||||
计算current为6的下一个用户 >> admin
|
||||
|
||||
*/
|
||||
|
||||
$users = array('admin', 'user1', 'user2', 'po1', 'po2', 'pm1', 'pm2');
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->getNextUserTest($users, $users[0])) && p() && e('user1'); //计算current为0的下一个用户
|
||||
r($task->getNextUserTest($users, $users[1])) && p() && e('user2'); //计算current为1的下一个用户
|
||||
r($task->getNextUserTest($users, $users[2])) && p() && e('po1'); //计算current为2的下一个用户
|
||||
r($task->getNextUserTest($users, $users[3])) && p() && e('po2'); //计算current为3的下一个用户
|
||||
r($task->getNextUserTest($users, $users[4])) && p() && e('pm1'); //计算current为4的下一个用户
|
||||
r($task->getNextUserTest($users, $users[5])) && p() && e('pm2'); //计算current为5的下一个用户
|
||||
r($task->getNextUserTest($users, $users[6])) && p() && e('admin'); //计算current为6的下一个用户
|
||||
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/task.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=taskModel->getTeamByAccount();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取未开始的指定账号的团队信息 >> admin_wait
|
||||
获取进行中的指定账号的团队信息 >> admin_doing
|
||||
过滤已完成的成员获取的指定账号的团队信息 >> admin_wait
|
||||
不过滤已完成的成员获取的指定账号的团队信息 >> admin_done
|
||||
获取的不存在账号 >> _
|
||||
|
||||
*/
|
||||
|
||||
$user = new stdclass();
|
||||
$user->account = 'admin';
|
||||
$user->status = 'wait';
|
||||
$user->order = '0';
|
||||
$users[] = $user;
|
||||
|
||||
$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 taskTest();
|
||||
r($task->getTeamByAccount($users, 'admin')) && p() && e('admin_wait'); //获取未开始的指定账号的团队信息
|
||||
|
||||
$users[0]->status = 'doing';
|
||||
r($task->getTeamByAccount($users, 'admin')) && p() && e('admin_doing'); //获取进行中的指定账号的团队信息
|
||||
|
||||
$users[0]->status = 'done';
|
||||
r($task->getTeamByAccount($users, 'admin')) && p() && e('admin_wait'); //过滤已完成的成员获取的指定账号的团队信息
|
||||
r($task->getTeamByAccount($users, 'admin', '')) && p() && e('admin_done'); //不过滤已完成的成员获取的指定账号的团队信息
|
||||
|
||||
r($task->getTeamByAccount($users, 'dev')) && p() && e('_'); //获取的不存在账号
|
||||
Reference in New Issue
Block a user