Files
EasySoft-ZenTaoPMS/module/task/test/model/recordworkhour.php
T
2023-05-30 09:38:17 +08:00

153 lines
5.5 KiB
PHP
Executable File

#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/task.class.php';
su('admin');
/**
title=- 无消耗时返回提示信息 @『ID
timeout=0
cid=1
- 任务未开始时记录工时,查看已消耗工时
- 属性field @consumed
- 属性old @3
- 属性new @8
- 任务未开始时记录工时,查看剩余工时
- 属性field @left
- 属性old @1
- 属性new @5
- 任务未开始时记录工时,查看状态是否变化
- 属性field @status
- 属性old @wait
- 属性new @doing
- 不在多人任务团队中的用户记录工时,直接返回false @0
- 在多人任务团队中的用户记录工时,查看返回的最初预计工时
- 属性field @estimate
- 属性old @1
- 属性new @25
- 在多人任务团队中的用户记录工时,查看返回的消耗工时
- 属性field @consumed
- 属性old @4
- 属性new @2
- 在多人任务团队中的用户记录工时,查看返回的剩余工时
- 属性field @left
- 属性old @2
- 属性new @25
- 通过记录日志直接完成任务的情况
- 第0条的field属性 @consumed
- 第0条的old属性 @5
- 第0条的new属性 @10
- 正常记录工时
- 第2条的field属性 @status
- 第2条的old属性 @done
- 第2条的new属性 @doing
- 正常记录工时
- 第2条的field属性 @status
- 第2条的old属性 @cancel
- 第2条的new属性 @doing
- 正常记录工时
- 第2条的field属性 @status
- 第2条的old属性 @closed
- 第2条的new属性 @doing
- 无消耗时返回提示信息 @『ID #1 工时』应当大于『0』。
*/
$task = zdTable('task');
$task->id->range('1-7');
$task->execution->range('1-7');
$task->name->prefix("任务")->range('1-7');
$task->left->range('1-7');
$task->mode->range(" , multi, , , , ,");
$task->estStarted->range('2022\-01\-01');
$task->assignedTo->prefix("user")->range('1-7');
$task->status->range("wait,wait,doing,done,pause,cancel,closed");
$task->gen(7);
$taskteam = zdTable('taskteam');
$taskteam->id->range('1-5');
$taskteam->task->range('2');
$taskteam->account->prefix("user")->range('1-5');
$taskteam->estimate->range('5');
$taskteam->consumed->range('0');
$taskteam->left->range('5');
$taskteam->status->range("wait");
$taskteam->gen(5);
$effort = zdTable('effort');
$effort->gen(1);
$user = zdTable('user');
$user->gen(20);
$multiTaskEffort = array();
for($i = 1; $i <= 5; $i++)
{
$multiTaskEffort[$i] = new stdclass();
$multiTaskEffort[$i]->consumed = 2;
$multiTaskEffort[$i]->left = 1;
$multiTaskEffort[$i]->work = "工作内容$i";
$multiTaskEffort[$i]->date = "2022-01-01";
}
$finishTaskEffort = array();
$finishTaskEffort[1] = new stdclass();
$finishTaskEffort[1]->consumed = 5;
$finishTaskEffort[1]->left = 0;
$finishTaskEffort[1]->work = "完成了任务";
$finishTaskEffort[1]->date = "2022-01-01";
$startTaskEffort = array();
$startTaskEffort[1] = new stdclass();
$startTaskEffort[1]->consumed = 5;
$startTaskEffort[1]->left = 5;
$startTaskEffort[1]->work = "开始了任务";
$startTaskEffort[1]->date = "2022-01-01";
$normalTaskEffort = array();
$normalTaskEffort[1] = new stdclass();
$normalTaskEffort[1]->consumed = 5;
$normalTaskEffort[1]->left = 5;
$normalTaskEffort[1]->work = "记录了日志";
$normalTaskEffort[1]->date = "2022-01-01";
$noconsumedTaskEffort = array();
$noconsumedTaskEffort[1] = new stdclass();
$noconsumedTaskEffort[1]->consumed = 0;
$noconsumedTaskEffort[1]->left = 2;
$noconsumedTaskEffort[1]->work = "无消耗的日志";
$noconsumedTaskEffort[1]->date = "2022-01-01";
$task = new taskTest();
$startTaskResult = $task->recordWorkhourTest(1, $startTaskEffort);
r($startTaskResult[0]) && p('field,old,new') && e('consumed,3,8'); // 任务未开始时记录工时,查看已消耗工时
r($startTaskResult[1]) && p('field,old,new') && e('left,1,5'); // 任务未开始时记录工时,查看剩余工时
r($startTaskResult[2]) && p('field,old,new') && e('status,wait,doing'); // 任务未开始时记录工时,查看状态是否变化
su('admin');
$multiTaskResult = $task->recordWorkhourTest(2, $multiTaskEffort);
r($multiTaskResult) && p() && e('0'); // 不在多人任务团队中的用户记录工时,直接返回false
su('user2');
$multiTaskResult = $task->recordWorkhourTest(2, $multiTaskEffort);
r($multiTaskResult[0]) && p('field,old,new') && e('estimate,1,25'); // 在多人任务团队中的用户记录工时,查看返回的最初预计工时
r($multiTaskResult[1]) && p('field,old,new') && e('consumed,4,2'); // 在多人任务团队中的用户记录工时,查看返回的消耗工时
r($multiTaskResult[2]) && p('field,old,new') && e('left,2,25'); // 在多人任务团队中的用户记录工时,查看返回的剩余工时
r($task->recordWorkhourTest(3, $finishTaskEffort)) && p('0:field,old,new') && e('consumed,5,10'); // 通过记录日志直接完成任务的情况
r($task->recordWorkhourTest(4, $normalTaskEffort)) && p('2:field,old,new') && e('status,done,doing'); // 正常记录工时
r($task->recordWorkhourTest(6, $normalTaskEffort)) && p('2:field,old,new') && e('status,cancel,doing'); // 正常记录工时
r($task->recordWorkhourTest(7, $normalTaskEffort)) && p('2:field,old,new') && e('status,closed,doing'); // 正常记录工时
r($task->recordWorkhourTest(5, $noconsumedTaskEffort)[0]) && p() && e('『ID #1 工时』应当大于『0』。'); // 无消耗时返回提示信息