* Add unit test of taskModel-updateParentStatus.
This commit is contained in:
@@ -2,14 +2,11 @@
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/task.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=taskModel->assign();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
*/
|
||||
|
||||
zdTable('task')->config('task')->gen(6);
|
||||
@@ -18,7 +15,7 @@ zdTable('project')->config('project')->gen(20);
|
||||
|
||||
su('user12');
|
||||
|
||||
$taskIDlist = array('1','2','3','4','5','6');
|
||||
$taskIDlist = array('1', '2', '3', '4', '5', '6');
|
||||
|
||||
$waitTask = array('assignedTo' => 'user12','status' => 'wait');
|
||||
$waitTaskLeft = array('assignedTo' => 'user11','status' => 'wait', 'left' => 1);
|
||||
|
||||
@@ -2,38 +2,100 @@
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/task.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=taskModel->updateParentStatus();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
更新任务ID为1 创建动态的任务的父任务 >> 1
|
||||
更新任务ID为601 创建动态的任务的父任务 >> 1
|
||||
更新任务ID为601 父ID为601 创建动态的任务的父任务 >> doing,更多任务1
|
||||
更新任务ID为901 创建动态的任务的父任务 >> wait,子任务1
|
||||
更新任务ID为901 父ID为601 创建动态的任务的父任务 >> wait,子任务1
|
||||
更新任务ID为901 父ID为601 不创建动态的任务的父任务 >> wait,子任务1
|
||||
更新任务ID为901 父ID为902 创建动态的任务的父任务 >> 1
|
||||
更新任务ID为不存在的100001 父ID为601 创建动态的任务的父任务 >> 0
|
||||
更新任务ID为不存在的100001 父ID为601 不创建动态的任务的父任务 >> 0
|
||||
更新任务ID为不存在的100001 父ID为902 创建动态的任务的父任务 >> 1
|
||||
|
||||
*/
|
||||
|
||||
$taskIDList = array('1', '601', '901', '100001');
|
||||
$parentIDList = array('601', '902');
|
||||
zdTable('user')->config('user')->gen(3);
|
||||
zdTable('project')->config('project')->gen(1);
|
||||
|
||||
su('user1');
|
||||
$_SERVER['HTTP_HOST'] = 'pms.zentao.com';
|
||||
|
||||
/**
|
||||
doing + done = doing
|
||||
doing + closed = doing
|
||||
doing + pause = doing
|
||||
doing + cancel = doing
|
||||
doing + doing = doing
|
||||
doing + wait = doing
|
||||
done + wait = doing
|
||||
closeReasonDone + wait = doing
|
||||
*/
|
||||
|
||||
zdTable('task')->config('taskdoing')->gen(26, true, false);
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->updateParentStatusTest($taskIDList[0])) && p('status,name') && e('1'); //更新任务ID为1 创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest($taskIDList[1])) && p('status,name') && e('1'); //更新任务ID为601 创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest($taskIDList[1], $parentIDList[0])) && p('status,name') && e('doing,更多任务1'); //更新任务ID为601 父ID为601 创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest($taskIDList[2])) && p('status,name') && e('wait,子任务1'); //更新任务ID为901 创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest($taskIDList[2], $parentIDList[0])) && p('status,name') && e('wait,子任务1'); //更新任务ID为901 父ID为601 创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest($taskIDList[2], $parentIDList[0], false)) && p('status,name') && e('wait,子任务1'); //更新任务ID为901 父ID为601 不创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest($taskIDList[2], $parentIDList[1])) && p('status,name') && e('1'); //更新任务ID为901 父ID为902 创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest($taskIDList[3], $parentIDList[0])) && p('status,name') && e('0'); //更新任务ID为不存在的100001 父ID为601 创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest($taskIDList[3], $parentIDList[0], false)) && p('status,name') && e('0'); //更新任务ID为不存在的100001 父ID为601 不创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest($taskIDList[3], $parentIDList[1])) && p('status,name') && e('1'); //更新任务ID为不存在的100001 父ID为902 创建动态的任务的父任务
|
||||
r($task->updateParentStatusTest(10)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(12)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(14)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(16)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(18)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(20)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(22)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(24)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(26)) && p('status') && e('wait');
|
||||
|
||||
/**
|
||||
pause + done = doing
|
||||
pause + closed = doing
|
||||
pause + pause = doing
|
||||
pause + cancel = doing
|
||||
pause + doing = doing
|
||||
pause + wait = doing
|
||||
*/
|
||||
|
||||
zdTable('task')->config('taskpause')->gen(18, true, false);
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->updateParentStatusTest(8)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(10)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(12)) && p('status') && e('pause');
|
||||
r($task->updateParentStatusTest(14)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(16)) && p('status') && e('doing');
|
||||
r($task->updateParentStatusTest(18)) && p('status') && e('doing');
|
||||
|
||||
/**
|
||||
wait + wait = wait
|
||||
wait + closed = wait
|
||||
wait + cancel = wait
|
||||
*/
|
||||
|
||||
zdTable('task')->config('taskwait')->gen(9, true, false);
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->updateParentStatusTest(4)) && p('status') && e('wait');
|
||||
r($task->updateParentStatusTest(6)) && p('status') && e('wait');
|
||||
r($task->updateParentStatusTest(8)) && p('status') && e('wait');
|
||||
|
||||
/**
|
||||
done + done = done
|
||||
done + closed = done
|
||||
done + cancel = done
|
||||
*/
|
||||
|
||||
zdTable('task')->config('taskdone')->gen(9, true, false);
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->updateParentStatusTest(4)) && p('status,finishedBy,assignedTo') && e('done,user1,user2');
|
||||
r($task->updateParentStatusTest(6)) && p('status,finishedBy,assignedTo') && e('done,user1,user2');
|
||||
r($task->updateParentStatusTest(8)) && p('status,finishedBy,assignedTo') && e('done,user1,user2');
|
||||
|
||||
/**
|
||||
closed + closed = closed
|
||||
closed + cancel = closed
|
||||
cancel + cancel = cancel
|
||||
*/
|
||||
|
||||
zdTable('task')->config('taskclose')->gen(9, true, false);
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->updateParentStatusTest(4)) && p('status,closedBy,assignedTo,closedReason') && e('closed,user1,closed,done');
|
||||
r($task->updateParentStatusTest(6)) && p('status') && e('closed');
|
||||
r($task->updateParentStatusTest(8)) && p('status,finishedBy,canceledBy') && e('cancel,~~,user1,user2,assignedTo');
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
title: zt_user
|
||||
author: Zhaoke
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
title: zt_task_pause
|
||||
author: Zhaoke
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
- field: parent
|
||||
range: '`-1`{3},1{2},2{2},3{2}'
|
||||
- field: name
|
||||
range: 1-100
|
||||
prefix: '任务'
|
||||
- field: status
|
||||
range: 'wait{3},closed,closed,closed,cancel,cancel,cancel'
|
||||
- field: mode
|
||||
range: 'multi{3},{100}'
|
||||
- field: execution
|
||||
range: 1
|
||||
- field: openedBy
|
||||
range: "user2"
|
||||
@@ -0,0 +1,21 @@
|
||||
title: zt_task_doing
|
||||
author: Zhaoke
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
- field: parent
|
||||
range: '`-1`{9},1{2},2{2},3{2},4{2},5{2},6{2},7{2},8{2},9'
|
||||
- field: name
|
||||
range: 1-100
|
||||
prefix: '任务'
|
||||
- field: status
|
||||
range: 'wait{9},doing,done,doing,closed,doing,pause,doing,cancel,doing,wait,done,wait,done,wait,doing'
|
||||
- field: mode
|
||||
range: 'multi{9},{100}'
|
||||
- field: execution
|
||||
range: 1
|
||||
- field: openedBy
|
||||
range: "user2"
|
||||
- field: closedReason
|
||||
range: "{21},done,{100}"
|
||||
@@ -0,0 +1,19 @@
|
||||
title: zt_task_pause
|
||||
author: Zhaoke
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
- field: parent
|
||||
range: '`-1`{3},1{2},2{2},3{2}'
|
||||
- field: name
|
||||
range: 1-100
|
||||
prefix: '任务'
|
||||
- field: status
|
||||
range: 'wait{3},done,done,done,closed,done,cancel'
|
||||
- field: mode
|
||||
range: 'multi{3},{100}'
|
||||
- field: execution
|
||||
range: 1
|
||||
- field: openedBy
|
||||
range: "user2"
|
||||
@@ -0,0 +1,19 @@
|
||||
title: zt_task_pause
|
||||
author: Zhaoke
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
- field: parent
|
||||
range: '`-1`{6},1{2},2{2},3{2},4{2},5{2},6{2}'
|
||||
- field: name
|
||||
range: 1-100
|
||||
prefix: '任务'
|
||||
- field: status
|
||||
range: 'wait{6},pause,done,pause,closed,pause,pause,pause,cancel,pause,doing,pause,wait'
|
||||
- field: mode
|
||||
range: 'multi{9},{100}'
|
||||
- field: execution
|
||||
range: 1
|
||||
- field: openedBy
|
||||
range: "user2"
|
||||
@@ -0,0 +1,19 @@
|
||||
title: zt_task_pause
|
||||
author: Zhaoke
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
- field: parent
|
||||
range: '`-1`{3},1{2},2{2},3{2}'
|
||||
- field: name
|
||||
range: 1-100
|
||||
prefix: '任务'
|
||||
- field: status
|
||||
range: 'wait{3},wait,wait,wait,closed,wait,cancel'
|
||||
- field: mode
|
||||
range: 'multi{3},{100}'
|
||||
- field: execution
|
||||
range: 1
|
||||
- field: openedBy
|
||||
range: "user2"
|
||||
@@ -0,0 +1,15 @@
|
||||
title: zt_user
|
||||
author: Zhaoke
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
- field: account
|
||||
range: 1-100
|
||||
prefix: 'user'
|
||||
- field: password
|
||||
range: 'f8e41d6c31824c01e5d67c61a8ae49e9,e10adc3949ba59abbe56e057f20f883e'
|
||||
- field: realname
|
||||
range: 1-100
|
||||
prefix: '开发'
|
||||
|
||||
@@ -374,7 +374,7 @@ class yaml
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function gen($rows, $isClear = true)
|
||||
public function gen($rows, $isClear = true, $useCache = true)
|
||||
{
|
||||
list($runFileDir, $runFileName) = $this->getScriptPathAndName();
|
||||
|
||||
@@ -382,7 +382,7 @@ class yaml
|
||||
$scriptPath = sprintf("%s%s%s.php", $runFileDir, DS, $runFileName);
|
||||
$yamlPath = sprintf("%s%sdata%s%s_%s.yaml", $runFileDir, DS, DS, $this->tableName, $runFileName);
|
||||
|
||||
if($rows && $this->checkNeedReGenerateSql($sqlPath, $scriptPath, $yamlPath))
|
||||
if($rows && (!$useCache || $this->checkNeedReGenerateSql($sqlPath, $scriptPath, $yamlPath)))
|
||||
{
|
||||
$runtimeRoot = dirname(dirname(__FILE__)) . '/runtime/';
|
||||
$zdPath = $runtimeRoot . 'zd';
|
||||
|
||||
Reference in New Issue
Block a user