znt/module/execution/test/model/changestatus2wait.php

76 lines
2.9 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/**
title=测试 executionModel::changeStatus2Wait();
timeout=0
cid=16280
- 执行execution模块的changeStatus2WaitTest方法参数是8 @
- 执行execution模块的changeStatus2WaitTest方法参数是2 @'父阶段A',
- 执行execution模块的changeStatus2WaitTest方法参数是3 @'子阶段A1',
- 执行execution模块的changeStatus2WaitTest方法参数是999 @
- 执行execution模块的changeStatus2WaitTest方法参数是9 @
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 准备用户数据
$user = zenData('user');
$user->id->range('1-5');
$user->account->range('admin,user1,user2,user3,user4');
$user->password->range('123456{5}');
$user->realname->range('管理员,用户1,用户2,用户3,用户4');
$user->role->range('admin,dev{4}');
$user->gen(5);
su('admin');
// 准备执行数据:创建多层级阶段结构
$execution = zenData('project');
$execution->id->range('1-10');
$execution->name->range('瀑布项目1,父阶段A,子阶段A1,子阶段A2,孙阶段A11,父阶段B,子阶段B1,独立阶段C,已等待阶段D,测试执行E');
$execution->type->range('project,stage{9}');
$execution->project->range('0,1{9}');
$execution->parent->range('0,1,2,2,3,1,6,0,0,0');
$execution->path->range(',1,,1,2,,1,2,3,,1,2,4,,1,2,3,5,,1,6,,1,6,7,,8,,9,,10,');
$execution->status->range('doing,doing,doing,doing,doing,suspended,suspended,doing,wait,doing');
$execution->openedBy->range('admin{10}');
$execution->vision->range('rnd{10}');
$execution->model->range('scrum{10}');
$execution->grade->range('1,2{9}');
$execution->begin->range('2022-01-01,2022-01-05{9}');
$execution->end->range('2022-03-01,2022-03-05{9}');
$execution->realBegan->range('null,null,2022-01-15,2022-01-20,null{6}');
$execution->gen(10);
// 准备任务数据:部分执行有消耗工时的任务
$task = zenData('task');
$task->id->range('1-20');
$task->name->range('任务{20}');
$task->execution->range('2{5},3{5},4{5},8{5}');
$task->consumed->range('0{10},5{5},3{5}');
$task->status->range('wait{10},doing{10}');
$task->deleted->range('0{20}');
$task->gen(20);
$execution = new executionModelTest();
// 测试步骤1正常修改执行状态为等待无子阶段已开始且无消耗任务
r($execution->changeStatus2WaitTest(8)) && p('') && e('');
// 测试步骤2测试有子阶段已开始的情况子阶段A1已经realBegan不为空
r($execution->changeStatus2WaitTest(2)) && p('') && e("'父阶段A',");
// 测试步骤3测试有任务消耗工时的情况执行3有consumed>0的任务
r($execution->changeStatus2WaitTest(3)) && p('') && e("'子阶段A1',");
// 测试步骤4测试不存在的执行ID
r($execution->changeStatus2WaitTest(999)) && p('') && e('');
// 测试步骤5测试已经是wait状态的执行
r($execution->changeStatus2WaitTest(9)) && p('') && e('');