Merge branch 'autoTest_liumengyi_task' into 'master'
* Add auto test of computeHours4Multiple. See merge request easycorp/zentaopms!2188
This commit is contained in:
@@ -607,4 +607,19 @@ class taskTest
|
|||||||
return isset($parentObject) ? $parentObject : $object;
|
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: ""
|
||||||
@@ -45,6 +45,7 @@ $builder->kanbancellproject = array('rows' => 4860, 'extends' => array('kanban
|
|||||||
|
|
||||||
|
|
||||||
$builder->team = array('rows' => 400, 'extends' => array('team'));
|
$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->stakeholder = array('rows' => 1, 'extends' => array('stakeholder'));
|
||||||
$builder->stageson = array('rows' => 30, 'extends' => array('project', 'executionson'));
|
$builder->stageson = array('rows' => 30, 'extends' => array('project', 'executionson'));
|
||||||
|
|
||||||
|
|||||||
@@ -149,6 +149,11 @@ class Processor
|
|||||||
*/
|
*/
|
||||||
private function initTask()
|
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();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
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