Merge branch 'master' of https://gitlab.zcorp.cc/easycorp/zentaopms into sprint/master_lanzongjun_fixbug
This commit is contained in:
@@ -721,7 +721,7 @@ class upgrade extends control
|
||||
$this->view->title = $this->lang->upgrade->result;
|
||||
$this->view->position[] = $this->lang->upgrade->common;
|
||||
|
||||
$needProcess = $this->upgrade->checkProcess($fromVersion);
|
||||
$needProcess = $this->upgrade->checkProcess();
|
||||
$this->view->needProcess = $needProcess;
|
||||
$this->view->fromVersion = $fromVersion;
|
||||
$this->display();
|
||||
|
||||
@@ -46,6 +46,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(function()
|
||||
{
|
||||
$.get('<?php echo inlink('afterExec', "fromVersion=$fromVersion&processed=yes")?>');
|
||||
})
|
||||
|
||||
<?php
|
||||
foreach($needProcess as $processKey => $value) echo 'var ' . $processKey . "Finish = false;\n";
|
||||
if(isset($needProcess['updateFile'])):?>
|
||||
|
||||
@@ -721,12 +721,20 @@ class executionTest
|
||||
}
|
||||
}
|
||||
|
||||
public function unlinkStoryTest($executionID, $count)
|
||||
public function unlinkStoryTest($executionID, $count, $storyID, $param = array())
|
||||
{
|
||||
global $tester;
|
||||
$stories = array();
|
||||
$products = array();
|
||||
$createFields = array('stories' => $stories, 'products' => $products);
|
||||
|
||||
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
|
||||
foreach($param as $key => $value) $_POST[$key] = $value;
|
||||
$tester->dbh->query("delete from zt_projectstory where project = $executionID");
|
||||
|
||||
$this->objectModel->unlinkStory($executionID);
|
||||
$this->objectModel->linkStory($executionID);
|
||||
unset($_POST);
|
||||
$this->objectModel->unlinkStory($executionID, $storyID);
|
||||
if(dao::isError())
|
||||
{
|
||||
$error = dao::getError();
|
||||
@@ -740,6 +748,88 @@ class executionTest
|
||||
else
|
||||
{
|
||||
$object = $tester->dbh->query("select * from zt_projectstory where project = $executionID")->fetchAll();
|
||||
if(isset($object))
|
||||
{
|
||||
return $object;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "全部需求已解除";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function unlinkCasesTest($executionID, $productID, $storyID)
|
||||
{
|
||||
global $tester;
|
||||
$tester->dbh->query("delete from zt_projectcase where project = $executionID");
|
||||
|
||||
$this->objectModel->linkCases($executionID, $productID, $storyID);
|
||||
$this->objectModel->unlinkCases($executionID, $storyID);
|
||||
if(dao::isError())
|
||||
{
|
||||
$error = dao::getError();
|
||||
return $error;
|
||||
}
|
||||
else
|
||||
{
|
||||
$object = $tester->dbh->query("select * from zt_projectcase where project = $executionID")->fetchAll();
|
||||
return $object;
|
||||
}
|
||||
}
|
||||
|
||||
public function getTeamMembersTest($executionID, $count)
|
||||
{
|
||||
$object = $this->objectModel->getTeamMembers($executionID);
|
||||
if(dao::isError())
|
||||
{
|
||||
$error = dao::getError();
|
||||
return $error;
|
||||
}
|
||||
elseif($count == "1")
|
||||
{
|
||||
return count($object);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $object;
|
||||
}
|
||||
}
|
||||
|
||||
public function getMembersByIdListTest($executionIdList, $count)
|
||||
{
|
||||
$object = $this->objectModel->getMembersByIdList($executionIdList);
|
||||
if(dao::isError())
|
||||
{
|
||||
$error = dao::getError();
|
||||
return $error;
|
||||
}
|
||||
elseif($count == "1")
|
||||
{
|
||||
return count($object);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $object;
|
||||
}
|
||||
}
|
||||
|
||||
public function getTeamSkipTest($taskID, $begin, $end, $count)
|
||||
{
|
||||
global $tester;
|
||||
$teams = $tester->dao->select('*')->from(TABLE_TEAM)->where('root')->eq($taskID)->andWhere('type')->eq('task')->orderBy('order')->fetchAll('account');
|
||||
$object = $this->objectModel->getTeamSkip($teams, $begin, $end);
|
||||
if(dao::isError())
|
||||
{
|
||||
$error = dao::getError();
|
||||
return $error;
|
||||
}
|
||||
elseif($count == "1")
|
||||
{
|
||||
return count($object);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $object;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -607,4 +607,19 @@ class taskTest
|
||||
return isset($parentObject) ? $parentObject : $object;
|
||||
}
|
||||
}
|
||||
|
||||
public function computeHours4MultipleTest($oldTask, $task = null, $team = array(), $autoStatus = true)
|
||||
{
|
||||
$result = $this->objectModel->computeHours4Multiple($oldTask, $task, $team, $autoStatus);
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
return dao::getError();
|
||||
}
|
||||
else
|
||||
{
|
||||
$object = $this->objectModel->getById($oldTask->id);
|
||||
return !empty($team) ? $result : $object;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
title: table zt_team
|
||||
desc: "团队"
|
||||
author: automated export
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
note: "ID"
|
||||
range: 911-1000
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: root
|
||||
note: "任务ID"
|
||||
range: 1,901-909
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: type
|
||||
note: "项目类型"
|
||||
range: 'task'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: account
|
||||
note: "用户账号"
|
||||
fields:
|
||||
- field: account1
|
||||
range: po,user,admin
|
||||
- field: account2
|
||||
range: 82,92,''
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: role
|
||||
note: "角色"
|
||||
range: 研发{99},测试{100},项目经理{100},产品经理{5}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: limited
|
||||
note: "受限用户"
|
||||
range: no
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: join
|
||||
note: "加盟日"
|
||||
range: Y-m-d
|
||||
prefix: ""
|
||||
type: timestamp
|
||||
format: "YYYY-MM-DD"
|
||||
- field: days
|
||||
note: "可用工作日"
|
||||
range: 1-50:R
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: hours
|
||||
note: "可用工时/天"
|
||||
range: 1-8:R
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: estimate
|
||||
note: ""
|
||||
range: 1-3
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: consumed
|
||||
note: ""
|
||||
range: 1-3
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: left
|
||||
note: ""
|
||||
range: 1-3
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: order
|
||||
note: "排序"
|
||||
range: 0
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
@@ -135,6 +135,13 @@ fields:
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: visions
|
||||
note: "版本"
|
||||
range: rnd
|
||||
prefix: ""
|
||||
postfix: ",lite"
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: ip
|
||||
note: "最后IP"
|
||||
format: ""
|
||||
|
||||
@@ -45,6 +45,7 @@ $builder->kanbancellproject = array('rows' => 4860, 'extends' => array('kanban
|
||||
|
||||
|
||||
$builder->team = array('rows' => 400, 'extends' => array('team'));
|
||||
$builder->teamtask = array('rows' => 20, 'extends' => array('team', 'teamtask'));
|
||||
$builder->stakeholder = array('rows' => 1, 'extends' => array('stakeholder'));
|
||||
$builder->stageson = array('rows' => 30, 'extends' => array('project', 'executionson'));
|
||||
|
||||
|
||||
@@ -149,6 +149,11 @@ class Processor
|
||||
*/
|
||||
private function initTask()
|
||||
{
|
||||
$parentList = $this->dao->select('parent')->from(TABLE_TASK)->where('parent')->gt(0)->fetchAll('parent');
|
||||
$parentIDList = array_keys($parentList);
|
||||
$parentID = implode(',', $parentIDList);
|
||||
|
||||
$this->dao->update(TABLE_TASK)->set('parent')->eq(-1)->where('id')->in($parentID)->andWhere('deleted')->eq(0)->exec();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/execution.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试executionModel->getMembersByIdListTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
敏捷执行关联用例 >> 101,1,1
|
||||
瀑布执行关联用例 >> 131,43,169
|
||||
看板执行关联用例 >> 161,68,269
|
||||
敏捷执行关联用例统计 >> 4
|
||||
瀑布执行关联用例统计 >> 4
|
||||
看板执行关联用例统计 >> 4
|
||||
|
||||
*/
|
||||
|
||||
$executionIDList = array('101', '131', '161');
|
||||
$count = array('0','1');
|
||||
|
||||
$execution = new executionTest();
|
||||
r($execution->getMembersByIdListTest($executionIDList, $count[0])[$executionIDList[0]]) && p('0:root,account,realname') && e('101,po82,研发主管82');// 批量查询敏捷执行team
|
||||
r($execution->getMembersByIdListTest($executionIDList, $count[0])[$executionIDList[1]]) && p('0:root,account,realname') && e('131,test22,开发22'); // 批量查询瀑布执行team
|
||||
r($execution->getMembersByIdListTest($executionIDList, $count[0])[$executionIDList[2]]) && p('0:root,account,realname') && e('161,test52,开发52'); // 批量查询看板执行team
|
||||
r($execution->getMembersByIdListTest($executionIDList, $count[1])) && p() && e('3'); // 批量查询执行team统计
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/execution.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试executionModel->getTeamMembersTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
敏捷执行关联用例 >> 101,1,1
|
||||
瀑布执行关联用例 >> 131,43,169
|
||||
看板执行关联用例 >> 161,68,269
|
||||
敏捷执行关联用例统计 >> 4
|
||||
瀑布执行关联用例统计 >> 4
|
||||
看板执行关联用例统计 >> 4
|
||||
|
||||
*/
|
||||
|
||||
$executionIDList = array('101', '131', '161');
|
||||
$count = array('0','1');
|
||||
|
||||
$execution = new executionTest();
|
||||
r($execution->getTeamMembersTest($executionIDList[0], $count[0])) && p('po82:root,type,userID') && e('101,execution,482'); // 敏捷执行查看team
|
||||
r($execution->getTeamMembersTest($executionIDList[1], $count[0])) && p('test22:root,type,realname') && e('131,execution,开发22'); // 瀑布执行查看team
|
||||
r($execution->getTeamMembersTest($executionIDList[2], $count[0])) && p('test52:root,type,realname') && e('161,execution,开发52'); // 看板执行查看team
|
||||
r($execution->getTeamMembersTest($executionIDList[0], $count[1])) && p() && e('2'); // 敏捷执行team统计
|
||||
r($execution->getTeamMembersTest($executionIDList[1], $count[1])) && p() && e('1'); // 瀑布执行team统计
|
||||
r($execution->getTeamMembersTest($executionIDList[2], $count[1])) && p() && e('1'); // 看板执行team统计
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/execution.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试executionModel->getTeamSkipTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
敏捷执行关联用例 >> 101,1,1
|
||||
瀑布执行关联用例 >> 131,43,169
|
||||
看板执行关联用例 >> 161,68,269
|
||||
敏捷执行关联用例统计 >> 4
|
||||
瀑布执行关联用例统计 >> 4
|
||||
看板执行关联用例统计 >> 4
|
||||
|
||||
*/
|
||||
|
||||
$teamList = array('test2', 'test12', 'test15');
|
||||
$begin = 'test2';
|
||||
$end = 'test17';
|
||||
$count = array('0','1');
|
||||
|
||||
$execution = new executionTest();
|
||||
var_dump($execution->getTeamSkipTest($teamList, $teamList[0], $end, $count[0]));die;
|
||||
r($execution->getTeamSkipTest($teamList, $begin, $end, $count[0])) && p('0:root,account,realname') && e('101,po82,研发主管82');// 批量查询敏捷执行team
|
||||
r($execution->getTeamSkipTest($executionIDList, $count[0])[$executionIDList[1]]) && p('0:root,account,realname') && e('131,test22,开发22'); // 批量查询瀑布执行team
|
||||
r($execution->getTeamSkipTest($executionIDList, $count[0])[$executionIDList[2]]) && p('0:root,account,realname') && e('161,test52,开发52'); // 批量查询看板执行team
|
||||
r($execution->getTeamSkipTest($executionIDList, $count[1])) && p() && e('3'); // 批量查询执行team统计
|
||||
@@ -34,4 +34,4 @@ r($execution->linkStoryTest($executionIDList[0], $count[1], $story)) && p()
|
||||
r($execution->linkStoryTest($executionIDList[1], $count[1], $story)) && p() && e('3'); // 瀑布执行关联需求统计
|
||||
r($execution->linkStoryTest($executionIDList[2], $count[1], $story)) && p() && e('3'); // 看板执行关联需求统计
|
||||
|
||||
system("./ztest init");
|
||||
system("./ztest init");
|
||||
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/execution.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试executionModel->unlinkCasesTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
敏捷执行关联用例 >> 101,1,1
|
||||
瀑布执行关联用例 >> 131,43,169
|
||||
看板执行关联用例 >> 161,68,269
|
||||
敏捷执行关联用例统计 >> 4
|
||||
瀑布执行关联用例统计 >> 4
|
||||
看板执行关联用例统计 >> 4
|
||||
|
||||
*/
|
||||
|
||||
$executionIDList = array('101', '131', '161');
|
||||
$products = array('1', '43', '68');
|
||||
$stories = array('2', '170', '270');
|
||||
$count = array('0','1');
|
||||
|
||||
$execution = new executionTest();
|
||||
r($execution->unlinkCasesTest($executionIDList[0], $products[0], $stories[0])) && p() && e('0'); // 敏捷执行解除关联用例
|
||||
r($execution->unlinkCasesTest($executionIDList[1], $products[1], $stories[1])) && p() && e('0'); // 瀑布执行解除关联用例
|
||||
r($execution->unlinkCasesTest($executionIDList[2], $products[2], $stories[2])) && p() && e('0'); // 看板执行解除关联用例
|
||||
|
||||
system("./ztest init");
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/execution.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试executionModel->unlinkStoryTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
敏捷执行关联需求 >> 101,1,4
|
||||
瀑布执行关联需求 >> 131,1,4
|
||||
看板执行关联需求 >> 161,1,4
|
||||
敏捷执行关联需求统计 >> 3
|
||||
瀑布执行关联需求统计 >> 3
|
||||
看板执行关联需求统计 >> 3
|
||||
|
||||
*/
|
||||
|
||||
$executionIDList = array('101', '131', '161');
|
||||
$stories = array('4', '324', '364');
|
||||
$products = array('4' => '1', '324' => '81', '364' => '91');
|
||||
$count = array('0', '1');
|
||||
|
||||
$story = array('stories' => $stories, 'products' => $products);
|
||||
|
||||
$execution = new executionTest();
|
||||
r($execution->unlinkStoryTest($executionIDList[0], $count[0], $stories[0], $story)) && p('0:project,product,story') && e('101,81,324'); // 敏捷执行解除关联需求
|
||||
r($execution->unlinkStoryTest($executionIDList[1], $count[0], $stories[1], $story)) && p('0:project,product,story') && e('131,1,4'); // 瀑布执行解除关联需求
|
||||
r($execution->unlinkStoryTest($executionIDList[2], $count[0], $stories[2], $story)) && p('0:project,product,story') && e('161,1,4'); // 看板执行解除关联需求
|
||||
r($execution->unlinkStoryTest($executionIDList[0], $count[1], $stories[0], $story)) && p() && e('2'); // 敏捷执行关联需求统计
|
||||
r($execution->unlinkStoryTest($executionIDList[1], $count[1], $stories[1], $story)) && p() && e('2'); // 瀑布执行关联需求统计
|
||||
r($execution->unlinkStoryTest($executionIDList[2], $count[1], $stories[2], $story)) && p() && e('2'); // 看板执行关联需求统计
|
||||
|
||||
system("./ztest init");
|
||||
Regular → Executable
+105
@@ -0,0 +1,105 @@
|
||||
#!/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->computeHours4Multiple();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
task状态为wait只有老task计算多人工时 >> 1,po82,wait,3,3,3
|
||||
task状态为wait有新老task计算多人工时 >> 1,po82,wait,3,3,3
|
||||
task状态为wait有新老task和团队计算多人工时 >> 1,po82,doing,3,3,3
|
||||
task状态为done只有老task计算多人工时 >> 903,po82,done,3,3,3
|
||||
task状态为done有新老task计算多人工时 >> 903,po82,done,3,3,3
|
||||
task状态为done有新老task和团队计算多人工时 >> 903,po82,doing,3,3,3
|
||||
task状态为pause只有老task计算多人工时 >> 910,,pause,9,12,9
|
||||
task状态为pause有新老task计算多人工时 >> 910,,pause,9,12,9
|
||||
task状态为pause只有老task计算多人工时 >> 910,po82,doing,3,3,3
|
||||
老task不存在的情况有新老task和团队计算多人工时 >> 0
|
||||
老task不存在的情况有新老task计算多人工时 >> 0
|
||||
新task不存在的情况有新老task和团队计算多人工时 >> 10001,po82,doing,3,3,3
|
||||
|
||||
|
||||
*/
|
||||
$task1 = new stdclass();
|
||||
$task1->id = 1;
|
||||
$task1->status = 'wait';
|
||||
$task1->assignedTo = '';
|
||||
$task1->openedBy = '';
|
||||
|
||||
$task2 = new stdclass();
|
||||
$task2->id = 1;
|
||||
$task2->status = 'wait';
|
||||
$task2->assignedTo = 'user92';
|
||||
$task2->openedBy = '';
|
||||
|
||||
$task3 = new stdclass();
|
||||
$task3->id = 903;
|
||||
$task3->status = 'done';
|
||||
$task3->assignedTo = '';
|
||||
$task3->openedBy = '';
|
||||
|
||||
$task4 = new stdclass();
|
||||
$task4->id = 903;
|
||||
$task4->status = 'done';
|
||||
$task4->assignedTo = 'po82';
|
||||
$task4->openedBy = '';
|
||||
|
||||
$task5 = new stdclass();
|
||||
$task5->id = 910;
|
||||
$task5->status = 'pause';
|
||||
$task5->assignedTo = '';
|
||||
$task5->openedBy = '';
|
||||
|
||||
$task6 = new stdclass();
|
||||
$task6->id = 910;
|
||||
$task6->status = 'pause';
|
||||
$task6->assignedTo = '';
|
||||
$task6->openedBy = '';
|
||||
|
||||
$task7 = new stdclass();
|
||||
$task7->id = 100001;
|
||||
$task7->status = 'done';
|
||||
$task7->assignedTo = '';
|
||||
$task7->openedBy = '';
|
||||
|
||||
$task8 = new stdclass();
|
||||
$task8->id = 10001;
|
||||
$task8->status = 'wait';
|
||||
$task8->assignedTo = '';
|
||||
$task8->openedBy = '';
|
||||
|
||||
$user1 = new stdclass();
|
||||
$user1->account = 'po82';
|
||||
$user1->estimate = 1;
|
||||
$user1->consumed = 1;
|
||||
$user1->left = 1;
|
||||
|
||||
$user2 = new stdclass();
|
||||
$user2->account = 'user93';
|
||||
$user2->estimate = 2;
|
||||
$user2->consumed = 2;
|
||||
$user2->left = 2;
|
||||
|
||||
$team = array('po82' => $user1, 'user93' => $user2);
|
||||
|
||||
$autoStatusList = array(true, false);
|
||||
|
||||
$task = new taskTest();
|
||||
r($task->computeHours4MultipleTest($task1)) && p('id,assignedTo,status,estimate,consumed,left') && e('1,po82,wait,3,3,3'); // task状态为wait只有老task计算多人工时
|
||||
r($task->computeHours4MultipleTest($task1, $task2)) && p('id,assignedTo,status,estimate,consumed,left') && e('1,po82,wait,3,3,3'); // task状态为wait有新老task计算多人工时
|
||||
r($task->computeHours4MultipleTest($task1, $task2, $team)) && p('id,assignedTo,status,estimate,consumed,left') && e('1,po82,doing,3,3,3'); // task状态为wait有新老task和团队计算多人工时
|
||||
r($task->computeHours4MultipleTest($task3)) && p('id,assignedTo,status,estimate,consumed,left') && e('903,po82,done,3,3,3'); // task状态为done只有老task计算多人工时
|
||||
r($task->computeHours4MultipleTest($task3, $task4)) && p('id,assignedTo,status,estimate,consumed,left') && e('903,po82,done,3,3,3'); // task状态为done有新老task计算多人工时
|
||||
r($task->computeHours4MultipleTest($task3, $task4, $team)) && p('id,assignedTo,status,estimate,consumed,left') && e('903,po82,doing,3,3,3'); // task状态为done有新老task和团队计算多人工时
|
||||
r($task->computeHours4MultipleTest($task5)) && p('id,assignedTo,status,estimate,consumed,left') && e('910,,pause,9,12,9'); // task状态为pause只有老task计算多人工时
|
||||
r($task->computeHours4MultipleTest($task5, $task1, array(), false)) && p('id,assignedTo,status,estimate,consumed,left') && e('910,,pause,9,12,9'); // task状态为pause有新老task计算多人工时
|
||||
r($task->computeHours4MultipleTest($task5, $task6, $team)) && p('id,assignedTo,status,estimate,consumed,left') && e('910,po82,doing,3,3,3'); // task状态为pause只有老task计算多人工时
|
||||
r($task->computeHours4MultipleTest($task7)) && p('id,assignedTo,status,estimate,consumed,left') && e('0'); // 老task不存在的情况有新老task和团队计算多人工时
|
||||
r($task->computeHours4MultipleTest($task7, $task8)) && p('id,assignedTo,status,estimate,consumed,left') && e('0'); // 老task不存在的情况有新老task计算多人工时
|
||||
r($task->computeHours4MultipleTest($task1, $task8, $team)) && p('id,assignedTo,status,estimate,consumed,left') && e('10001,po82,doing,3,3,3'); // 新task不存在的情况有新老task和团队计算多人工时
|
||||
system("./ztest init");
|
||||
|
||||
Reference in New Issue
Block a user