znt/module/user/test/model/getexecutions.php

102 lines
4.5 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=测试 userModel->getExecutions();
timeout=0
cid=19610
- 用户名为空,返回空数组。 @0
- 用户 user2 未参与任何执行,返回空数组。 @0
- 运营管理界面下 admin 用户参与的执行有 0 个。 @0
- 研发综合界面下 admin 用户参与的执行有 5 个。 @5
- 执行 6 的状态为 wait没有延期项目名称为项目 1指派给 admin 的任务数是 4。
- 第6条的status属性 @wait
- 第6条的delay属性 @~~
- 第6条的projectName属性 @项目1
- 第6条的assignedToMeTasks属性 @4
- 执行 7 的状态为 wait延期 1 天,项目名称为项目 2指派给 admin 的任务数是 2。
- 第7条的status属性 @wait
- 第7条的delay属性 @1
- 第7条的projectName属性 @项目2
- 第7条的assignedToMeTasks属性 @2
- 执行 8 的状态为 doing延期 1 天,项目名称为项目 2指派给 admin 的任务数是 1。
- 第8条的status属性 @doing
- 第8条的delay属性 @1
- 第8条的projectName属性 @项目2
- 第8条的assignedToMeTasks属性 @1
- 执行 9 的状态为 suspended没有延期项目名称为项目 2指派给 admin 的任务数是 1。
- 第9条的status属性 @suspended
- 第9条的delay属性 @~~
- 第9条的projectName属性 @项目2
- 第9条的assignedToMeTasks属性 @1
- 执行 10 的状态为 closed没有延期项目名称为项目 3指派给 admin 的任务数是 1。
- 第10条的status属性 @closed
- 第10条的delay属性 @~~
- 第10条的projectName属性 @项目3
- 第10条的assignedToMeTasks属性 @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
zenData('user')->gen(3);
zenData('company')->gen(1);
$yesterday = date('Y-m-d', strtotime('yesterday'));
$tomorrow = date('Y-m-d', strtotime('tomorrow'));
$projectTable = zenData('project');
$projectTable->project->range('0-3{3}');
$projectTable->type->range('project{3},sprint{3},stage{3},kanban{3}');
$projectTable->name->range('项目1,项目2,项目3,执行1,执行2,执行3,阶段1,阶段2,阶段3,看板1,看板2,看板3');
$projectTable->end->range("`{$tomorrow}`,`{$yesterday}`{4}");
$projectTable->status->range('wait{2},doing,suspended,closed');
$projectTable->deleted->range('0');
$projectTable->gen(10);
$teamTable = zenData('team');
$teamTable->root->range('1-12');
$teamTable->type->range('project{5},execution{20}');
$teamTable->account->range('admin{12},user1{6}');
$teamTable->gen(10);
$table = zenData('task');
$table->execution->range('4-10{5}');
$table->parent->range('1,0{6}');
$table->assignedTo->range('admin{2},user1{4}');
$table->deleted->range('0{7},1');
$table->gen(50);
su('admin');
global $app, $config;
$app->rawModule = 'my';
$app->rawMethod = 'project';
$app->loadClass('pager');
$pager = new pager(0, 5, 1);
$userTest = new userModelTest();
r($userTest->getExecutionsTest('')) && p() && e(0); // 用户名为空,返回空数组。
r($userTest->getExecutionsTest('user2')) && p() && e(0); // 用户 user2 未参与任何执行,返回空数组。
/**
* 检测 admin 用户参与的执行。
*/
$config->vision = 'lite';
$executions = $userTest->getExecutionsTest('admin');
r(count($executions)) && p() && e(0); // 运营管理界面下 admin 用户参与的执行有 0 个。
$config->vision = 'rnd';
$executions = $userTest->getExecutionsTest('admin');
r(count($executions)) && p() && e(5); // 研发综合界面下 admin 用户参与的执行有 5 个。
r($executions) && p('6:status,delay,projectName,assignedToMeTasks') && e('wait,~~,项目1,4'); // 执行 6 的状态为 wait没有延期项目名称为项目 1指派给 admin 的任务数是 4。
r($executions) && p('7:status,delay,projectName,assignedToMeTasks') && e('wait,1,项目2,2'); // 执行 7 的状态为 wait延期 1 天,项目名称为项目 2指派给 admin 的任务数是 2。
r($executions) && p('8:status,delay,projectName,assignedToMeTasks') && e('doing,1,项目2,1'); // 执行 8 的状态为 doing延期 1 天,项目名称为项目 2指派给 admin 的任务数是 1。
r($executions) && p('9:status,delay,projectName,assignedToMeTasks') && e('suspended,~~,项目2,1'); // 执行 9 的状态为 suspended没有延期项目名称为项目 2指派给 admin 的任务数是 1。
r($executions) && p('10:status,delay,projectName,assignedToMeTasks') && e('closed,~~,项目3,1'); // 执行 10 的状态为 closed没有延期项目名称为项目 3指派给 admin 的任务数是 1。