Merge branch 'autoTest_liumengyi' into 'master'

* Add auto test for task.

See merge request easycorp/zentaopms!2159
This commit is contained in:
孙广明
2022-03-09 05:53:01 +00:00
10 changed files with 427 additions and 14 deletions

View File

@@ -2171,7 +2171,7 @@ class taskModel extends model
$task->parentName = $parent->name;
}
}
}
}
return $this->processTasks($tasks);
}

View File

@@ -563,4 +563,36 @@ class taskTest
return $object;
}
}
public function getStoryComments($storyID)
{
$object = $this->objectModel->getStoryComments($storyID);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function computeWorkingHoursTest($taskID)
{
$result = $this->objectModel->computeWorkingHours($taskID);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
$object = $this->objectModel->getById($taskID);
if($object->parent) $parentObject = $this->objectModel->getById($object->parent);
return isset($parentObject) ? $parentObject : $object;
}
}
}

View File

@@ -55,7 +55,7 @@ fields:
format: ""
- field: comment
note: "备注"
range: "1-100000"
range: 1-100000
prefix: "这是一个系统日志测试备注"
postfix: ""
loop: 0

View File

@@ -117,11 +117,12 @@ fields:
format: ""
- field: deadline
note: "截止日期"
range: "2022-02-27"
range: "(-1w)-(-1M):-1D"
prefix: ""
postfix: ""
loop: 0
format: ""
type: timestamp
format: "YY/MM/DD"
- field: status
note: "任务状态"
range: wait,doing,done,pause,cancel,closed

View File

@@ -117,11 +117,12 @@ fields:
format: ""
- field: deadline
note: "截止日期"
range: "2022-02-27"
range: "(+1w)-(-1M):-1D"
prefix: ""
postfix: ""
loop: 0
format: ""
type: timestamp
format: "YY/MM/DD"
- field: status
note: "任务状态"
range: wait,doing,done,pause,cancel,closed
@@ -204,7 +205,8 @@ fields:
prefix: ""
postfix: ""
loop: 0
format: ""
type: timestamp
format: "YY/MM/DD"
- field: realStarted
note: "实际开始"
from: common.date.v1.yaml
@@ -212,7 +214,8 @@ fields:
prefix: ""
postfix: ""
loop: 0
format: ""
format: "YY/MM/DD"
type: timestamp
- field: finishedBy
note: "由谁完成"
from: common.user.v1.yaml
@@ -228,7 +231,8 @@ fields:
prefix: ""
postfix: ""
loop: 0
format: ""
format: "YY/MM/DD"
type: timestamp
- field: finishedList
note: "完成者列表"
from: common.user.v1.yaml
@@ -252,7 +256,8 @@ fields:
prefix: ""
postfix: ""
loop: 0
format: ""
format: "YY/MM/DD"
type: timestamp
- field: closedBy
note: "由谁关闭"
from: common.user.v1.yaml
@@ -268,7 +273,8 @@ fields:
prefix: ""
postfix: ""
loop: 0
format: ""
format: "YY/MM/DD"
type: timestamp
- field: realDuration
note: "实际持续时长"
range: 1
@@ -305,7 +311,8 @@ fields:
prefix: ""
postfix: ""
loop: 0
format: ""
format: "YY/MM/DD"
type: timestamp
- field: activatedDate
note: "重新激活日期"
from: common.date.v1.yaml
@@ -313,7 +320,8 @@ fields:
prefix: ""
postfix: ""
loop: 0
format: ""
format: "YY/MM/DD"
type: timestamp
- field: deleted
note: "是否删除"
range: 0

326
test/data/taskson.yaml Normal file
View File

@@ -0,0 +1,326 @@
title: table zt_task
desc: "任务"
author: automated export
version: "1.0"
fields:
- field: id
note: "id"
range: 901-910
prefix: ""
postfix: ""
loop: 0
format: ""
- field: parent
note: "父任务"
range: 601-603
prefix: ""
postfix: ""
loop: 0
format: ""
- field: project
note: "所属项目"
range: 11
prefix: ""
postfix: ""
loop: 0
format: ""
- field: execution
note: "所属执行"
range: 101
- field: module
note: "所属模块"
range: 21
prefix: ""
postfix: ""
loop: 0
format: ""
- field: story
note: "相关需求"
range: 0
prefix: ""
postfix: ""
loop: 0
format: ""
- field: design
note: "相关设计"
range: 0
prefix: ""
postfix: ""
loop: 0
format: ""
- field: storyVersion
note: "需求版本"
range: 1
prefix: ""
postfix: ""
loop: 0
format: ""
- field: designVersion
note: "设计版本"
range: 0
prefix: ""
postfix: ""
loop: 0
format: ""
- field: fromBug
note: "来源Bug"
range: 0
prefix: ""
postfix: ""
loop: 0
format: ""
- field: name
note: "任务名称"
fields:
- field: name1
range: "子任务"
- field: name2
range: 1-10
prefix: ""
postfix: ""
loop: 0
format: ""
- field: type
note: "任务类型"
range: design,devel,test,study,discuss,ui,affair,misc
prefix: ""
postfix: ""
loop: 0
format: ""
- field: pri
note: "优先级"
range: 1-4
prefix: ""
postfix: ""
loop: 0
format: ""
- field: estimate
note: "最初预计"
range: 0-10
prefix: ""
postfix: ""
loop: 0
format: ""
- field: consumed
note: "总计消耗"
range: 3-12
prefix: ""
postfix: ""
loop: 0
format: ""
- field: left
note: "预计剩余"
range: 0-10
prefix: ""
postfix: ""
loop: 0
format: ""
- field: deadline
note: "截止日期"
range: "(-1w)-(-1M):-1D"
prefix: ""
postfix: ""
loop: 0
type: timestamp
format: "YY/MM/DD"
- field: status
note: "任务状态"
range: wait,doing,done,pause,cancel,closed
prefix: ""
postfix: ""
loop: 0
format: ""
- field: subStatus
note: "子状态"
range: 0
prefix: ""
postfix: ""
loop: 0
format: ""
- field: color
note: "标题颜色"
from: common.color.v1.yaml
use: color
prefix: ""
postfix: ""
loop: 0
format: ""
- field: mailto
note: "抄送给"
from: common.user.v1.yaml
use: user
prefix: ""
postfix: ""
loop: 0
format: ""
- field: desc
note: "任务描述"
range: 1-10000
prefix: "这里是任务描述"
postfix: ""
loop: 0
format: ""
- field: version
note: "版本号"
range: 1
prefix: ""
postfix: ""
loop: 0
format: ""
- field: openedBy
note: "由谁创建"
from: common.user.v1.yaml
use: user
prefix: ""
postfix: ""
loop: 0
format: ""
- field: openedDate
note: "创建日期"
from: common.date.v1.yaml
use: dateA
prefix: ""
postfix: ""
loop: 0
format: ""
- field: assignedTo
note: "指派给"
from: common.user.v1.yaml
use: user
prefix: ""
postfix: ""
loop: 0
format: ""
- field: assignedDate
note: "指派日期"
from: common.date.v1.yaml
use: dateA
prefix: ""
postfix: ""
loop: 0
format: ""
- field: estStarted
note: "预计开始"
range: "2022-01-27"
prefix: ""
postfix: ""
loop: 0
format: "YY/MM/DD"
type: timestamp
- field: realStarted
note: "实际开始"
from: common.date.v1.yaml
use: dateB
prefix: ""
postfix: ""
loop: 0
format: "YY/MM/DD"
type: timestamp
- field: finishedBy
note: "由谁完成"
from: common.user.v1.yaml
use: user
prefix: ""
postfix: ""
loop: 0
format: ""
- field: finishedDate
note: "完成日期"
from: common.date.v1.yaml
use: dateA
prefix: ""
postfix: ""
loop: 0
format: ""
- field: finishedList
note: "完成者列表"
from: common.user.v1.yaml
use: user
prefix: ""
postfix: ""
loop: 0
format: ""
- field: canceledBy
note: "由谁取消"
from: common.user.v1.yaml
use: user
prefix: ""
postfix: ""
loop: 0
format: ""
- field: canceledDate
note: "取消日期"
from: common.date.v1.yaml
use: dateA
prefix: ""
postfix: ""
loop: 0
format: ""
- field: closedBy
note: "由谁关闭"
from: common.user.v1.yaml
use: user
prefix: ""
postfix: ""
loop: 0
format: ""
- field: closedDate
note: "关闭日期"
from: common.date.v1.yaml
use: dateA
prefix: ""
postfix: ""
loop: 0
format: ""
- field: realDuration
note: "实际持续时长"
range: 1
prefix: ""
postfix: ""
loop: 0
format: ""
- field: planDuration
note: "计划持续时长"
range: 1
prefix: ""
postfix: ""
loop: 0
format: ""
- field: closedReason
note: "关闭原因"
range: ""
prefix: ""
postfix: ""
loop: 0
format: ""
- field: lastEditedBy
note: "最后修改者"
from: common.user.v1.yaml
use: user
prefix: ""
postfix: ""
loop: 0
format: ""
- field: lastEditedDate
note: "最后修改时间"
from: common.date.v1.yaml
use: dateA
prefix: ""
postfix: ""
loop: 0
format: ""
- field: activatedDate
note: "重新激活日期"
from: common.date.v1.yaml
use: dateB
prefix: ""
postfix: ""
loop: 0
format: ""
- field: deleted
note: "是否删除"
range: 0
prefix: ""
postfix: ""
loop: 0
format: ""

View File

@@ -4,6 +4,7 @@ $builder = new stdclass();
$builder->company = array('rows' => 1, 'extends' => array('company'));
$builder->user = array('rows' => 1000, 'extends' => array('user'));
$builder->dept = array('rows' => 100, 'extends' => array('dept'));
$builder->action = array('rows' => 100, 'extends' => array('action'));
$builder->program = array('rows' => 10, 'extends' => array('project', 'program'));
$builder->project = array('rows' => 90, 'extends' => array('project', 'project'));
@@ -16,6 +17,7 @@ $builder->taskmore = array('rows' => 300, 'extends' => array('task','moreta
$builder->taskspec = array('rows' => 600, 'extends' => array('taskspec'));
$builder->taskmodule = array('rows' => 1800, 'extends' => array('module','taskmodule'));
$builder->taskestimate = array('rows' => 600, 'extends' => array('taskestimate'));
$builder->taskson = array('rows' => 10, 'extends' => array('task', 'taskson'));
$builder->case = array('rows' => 400, 'extends' => array('case'));
$builder->bug = array('rows' => 300, 'extends' => array('bug'));

View File

@@ -0,0 +1,23 @@
#!/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->computeWorkingHours();
cid=1
pid=1
根据taskID计算没有父计划的计划工时 >> 1,0,3,0
根据taskID计算有父计划的父计划工时 >> 601,18,30,18
*/
$taskIDList = array('1', '601');
$task = new taskTest();
r($task->computeWorkingHoursTest($taskIDList[0])) && p('id,estimate,consumed,left') && e('1,0,3,0'); //根据taskid计算没有父计划的计划工时
r($task->computeWorkingHoursTest($taskIDList[1])) && p('id,estimate,consumed,left') && e('601,18,31,13'); //根据taskID计算有父计划的父计划工时
system("./ztest init");

View File

@@ -6,7 +6,7 @@ su('admin');
/**
title=taskModel->getByList();
title=taskModel->getProjectID();
cid=1
pid=1

View File

@@ -0,0 +1,21 @@
#!/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->getStoryComments();
cid=1
pid=1
根据executionID查找projectID >> 11
*/
$storyID = '2';
$task = new taskTest();
r($task->getStoryCommentsTest($storyID)) && p('comment') && e('这是一个系统日志测试备注' . $storyID); //根据executionID查找projectID
system("./ztest init");