Merge branch release/21.7.5 of zentao/zentaopms (#11020)

This commit is contained in:
刘刚
2025-08-19 16:25:27 +08:00
committed by Gitfox
8 changed files with 138 additions and 73 deletions
@@ -1,5 +1,18 @@
#!/usr/bin/env php
<?php
/**
title=测试 projectModel->getExecutionMembers();
timeout=0
cid=1
- 获取admin的执行键值对总数 @2
- 获取admin的执行键值对 @迭代1-2
- 获取admin的执行键值对 @迭代6-7
- 获取user1的执行键值对总数 @1
- 获取user1的执行键值对 @迭代2-4
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
@@ -7,19 +20,16 @@ zenData('project')->loadYaml('project')->gen(7);
zenData('team')->loadYaml('team')->gen(4);
zenData('user')->loadYaml('user')->gen(3);
/**
title=测试 projectModel->getExecutionMembers();
timeout=0
cid=1
*/
global $tester;
$tester->loadModel('project');
$executionIdList = array(2, 4, 5, 7);
$executionMembers = $tester->project->getExecutionMembers('admin', $executionIdList);
$executionIdList = array(2, 4, 5, 7);
$adminExecutions = $tester->project->getExecutionMembers('admin', $executionIdList);
$user1Executions = $tester->project->getExecutionMembers('user1', $executionIdList);
r(count($executionMembers)) && p() && e('2'); // 获取admin的执行键值对总数
r($executionMembers[2]) && p() && e('迭代1-2'); // 获取admin的执行键值对
r(count($adminExecutions)) && p() && e('2'); // 获取admin的执行键值对总数
r($adminExecutions[2]) && p() && e('迭代1-2'); // 获取admin的执行键值对
r($adminExecutions[7]) && p() && e('迭代6-7'); // 获取admin的执行键值对
r(count($user1Executions)) && p() && e('1'); // 获取user1的执行键值对总数
r($user1Executions[4]) && p() && e('迭代2-4'); // 获取user1的执行键值对
+33 -12
View File
@@ -1,25 +1,46 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
zenData('project')->loadYaml('project')->gen(50);
$projectproduct = zenData('projectproduct');
$projectproduct->product->range('1-50');
$projectproduct->project->range('1-50');
$projectproduct->gen(50);
/**
title=测试 projectModel->getNoProductList();
timeout=0
cid=1
- 查询所有没有产品的项目数量 @5
- 查询没有产品的ID为1的项目详情
- 第1条的name属性 @敏捷项目1
- 第1条的code属性 @code1
- 查询没有产品的ID为3的项目详情
- 第3条的name属性 @看板项目3
- 第3条的code属性 @code3
- 查询没有产品的ID为5的项目详情
- 第5条的name属性 @瀑布项目5
- 第5条的code属性 @code5
- 查询没有产品的ID为7的项目详情
- 第7条的name属性 @敏捷项目7
- 第7条的code属性 @code7
- 查询没有产品的ID为9的项目详情
- 第9条的name属性 @看板项目9
- 第9条的code属性 @code9
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
zenData('project')->loadYaml('project')->gen(10);
$projectproduct = zenData('projectproduct');
$projectproduct->product->range('1-50');
$projectproduct->project->range('1-50');
$projectproduct->gen(10);
global $tester;
$tester->loadModel('project');
$result = $tester->project->getNoProductList();
r(count($tester->project->getNoProductList())) && p() && e('25'); // 查询所有没有产品的项目数量
r($tester->project->getNoProductList()) && p('17:name,code') && e('瀑布项目17,code17'); // 查询没有产品的ID为17的项目详情
r(count($result)) && p() && e('5'); // 查询所有没有产品的项目数量
r($result) && p('1:name,code') && e('敏捷项目1,code1'); // 查询没有产品的ID为1的项目详情
r($result) && p('3:name,code') && e('看板项目3,code3'); // 查询没有产品的ID为3的项目详情
r($result) && p('5:name,code') && e('瀑布项目5,code5'); // 查询没有产品的ID为5的项目详情
r($result) && p('7:name,code') && e('敏捷项目7,code7'); // 查询没有产品的ID为7的项目详情
r($result) && p('9:name,code') && e('看板项目9,code9'); // 查询没有产品的ID为9的项目详情
@@ -1,9 +1,5 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
$project = zenData('project')->gen(100);
/**
title=测试 projectModel->getPairsByIdList();
@@ -11,14 +7,16 @@ timeout=0
cid=1
- 查找ID为0、11、12、13的项目数量 @3
- 查找所有敏捷项目数量 @18
- 查找所有瀑布项目数量 @18
- 查找所有看板项目数量 @18
- 查找所有项目数量 @90
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
$project = zenData('project')->gen(100);
global $tester;
$tester->loadModel('project');
@@ -27,4 +25,5 @@ $projectIdList = array(0, 11, 12, 13);
r(count($tester->project->getPairsByIdList($projectIdList))) && p() && e('3'); // 查找ID为0、11、12、13的项目数量
r(count($tester->project->getPairsByIdList(array(), 'scrum'))) && p() && e('18'); // 查找所有敏捷项目数量
r(count($tester->project->getPairsByIdList(array(), 'waterfall'))) && p() && e('18'); // 查找所有瀑布项目数量
r(count($tester->project->getPairsByIdList(array()))) && p() && e('90'); // 查找所有项目数量
r(count($tester->project->getPairsByIdList(array(), 'kanban'))) && p() && e('18'); // 查找所有看板项目数量
r(count($tester->project->getPairsByIdList(array()))) && p() && e('90'); // 查找所有项目数量
+13 -6
View File
@@ -1,19 +1,26 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
/**
title=测试 projectModel->getPrivsByModel();
timeout=0
cid=1
- 传递空类型的情况 @0
- 传递错误的类型的情况 @0
- 获取敏捷项目的权限第bug条的delete属性 @deleteAction
- 获取瀑布项目的权限第story条的create属性 @create
- 获取看板项目的权限 @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
global $tester;
$projectTester = $tester->loadModel('project');
r($projectTester->getPrivsByModel('')) && p() && e('0'); // 传递空类型的情况
r($projectTester->getPrivsByModel('test')) && p() && e('0'); // 传递错误的类型的情况
r($projectTester->getPrivsByModel('scrum')) && p('bug:delete') && e('deleteAction'); // 传递正确类型的情况
r($projectTester->getPrivsByModel('')) && p() && e('0'); // 传递空类型的情况
r($projectTester->getPrivsByModel('test')) && p() && e('0'); // 传递错误的类型的情况
r($projectTester->getPrivsByModel('scrum')) && p('bug:delete') && e('deleteAction'); // 获取敏捷项目的权限
r($projectTester->getPrivsByModel('waterfall')) && p('story:create') && e('create'); // 获取瀑布项目的权限
r($projectTester->getPrivsByModel('kanban')) && p() && e('0'); // 获取看板项目的权限
+19 -11
View File
@@ -1,25 +1,33 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
$project = zenData('project')->loadYaml('project')->gen(11);
/**
title=测试 projectModel->getProgramMaxEnd();
timeout=0
cid=1
- 获取一级项目集下唯一项目最大结束时间属性maxEnd @2023-06-12
- 获取二级项目集下唯一项目最大结束时间属性maxEnd @2023-06-12
- 获取一级项目集下项目最大结束时间属性maxEnd @2023-07-21
- 获取一级项目集下多个项目最大结束时间属性maxEnd @2023-05-20
- 获取二级项目集下多个项目最大结束时间属性maxEnd @2023-05-20
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
$project = zenData('project')->loadYaml('project')->gen(11);
global $tester;
$tester->loadModel('project');
$project1 = $tester->project->getProgramMaxEnd(1);
$project2 = $tester->project->getProgramMaxEnd(4);
$project3 = $tester->project->getProgramMaxEnd(8);
$project2 = $tester->project->getProgramMaxEnd(2);
$project3 = $tester->project->getProgramMaxEnd(4);
$project4 = $tester->project->getProgramMaxEnd(8);
$project5 = $tester->project->getProgramMaxEnd(9);
r($project1) && p('maxEnd') && e('2023-06-12'); //获取二级项目集下唯一项目最大结束时间
r($project2) && p('maxEnd') && e('2023-07-21'); //获取一级项目集下项目最大结束时间
r($project3) && p('maxEnd') && e('2023-05-20'); //获取二级项目集下多个项目最大结束时间
r($project1) && p('maxEnd') && e('2023-06-12'); //获取一级项目集下唯一项目最大结束时间
r($project2) && p('maxEnd') && e('2023-06-12'); //获取二级项目集下唯一项目最大结束时间
r($project3) && p('maxEnd') && e('2023-07-21'); //获取一级项目集下项目最大结束时间
r($project4) && p('maxEnd') && e('2023-05-20'); //获取一级项目集下多个项目最大结束时间
r($project4) && p('maxEnd') && e('2023-05-20'); //获取二级项目集下多个项目最大结束时间
@@ -1,25 +1,33 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
$project = zenData('project')->loadYaml('project')->gen(11);
/**
title=测试 projectModel->getProgramMinBegin();
timeout=0
cid=1
- 获取二级项目集下唯一项目最小开始时间属性maxBegin @2023-05-07
- 获取一级项目集下唯一项目最小开始时间属性maxBegin @2023-05-20
- 获取一级项目集下项目最小开始时间属性maxBegin @2023-04-22
- 获取一级项目集下多个项目最小开始时间属性maxBegin @2023-05-01
- 获取一级项目集下多个项目最小开始时间属性maxBegin @2023-05-07
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
$project = zenData('project')->loadYaml('project')->gen(11);
global $tester;
$tester->loadModel('project');
$project1 = $tester->project->getProgramMinBegin(1);
$project2 = $tester->project->getProgramMinBegin(4);
$project3 = $tester->project->getProgramMinBegin(8);
$project2 = $tester->project->getProgramMinBegin(2);
$project3 = $tester->project->getProgramMinBegin(4);
$project4 = $tester->project->getProgramMinBegin(8);
$project5 = $tester->project->getProgramMinBegin(9);
r($project1) && p('maxBegin') && e('2023-05-07'); //获取二级项目集下唯一项目最小开始时间
r($project2) && p('maxBegin') && e('2023-04-22'); //获取一级项目集下项目最小开始时间
r($project3) && p('maxBegin') && e('2023-05-01'); //获取二级项目集下多个项目最小开始时间
r($project2) && p('maxBegin') && e('2023-05-20'); //获取一级项目集下唯一项目最小开始时间
r($project3) && p('maxBegin') && e('2023-04-22'); //获取一级项目集下项目最小开始时间
r($project4) && p('maxBegin') && e('2023-05-01'); //获取一级项目集下多个项目最小开始时间
r($project5) && p('maxBegin') && e('2023-05-07'); //获取一级项目集下多个项目最小开始时间
+15 -8
View File
@@ -1,23 +1,30 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
zenData('project')->gen(20);
su('admin');
/**
title=测试 projectModel::getProgramTree;
timeout=0
cid=1
- 查询第一个项目集名称第0条的name属性 @项目集1
- 获取id为1项目集的数据
- 第0条的id属性 @1
- 第0条的name属性 @项目集1
- 第0条的parent属性 @0
- 获取id为2项目集的数据
- 第1条的id属性 @2
- 第1条的name属性 @项目集2
- 第1条的parent属性 @0
- 查询项目集数量 @9
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zenData('project')->gen(20);
su('admin');
global $tester;
$tester->loadModel('project');
$programs = $tester->project->getProgramTree('all');
r($programs) && p('0:name') && e('项目集1'); // 查询第一个项目集名称
r(count($programs)) && p() && e('9'); // 查询项目集数量
r($programs) && p('0:id,name,parent') && e('1,项目集1,0'); // 获取id为1项目集的数据
r($programs) && p('1:id,name,parent') && e('2,项目集2,0'); // 获取id为2项目集的数据
r(count($programs)) && p() && e('9'); // 查询项目集数量
@@ -1,18 +1,22 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
zenData('project')->loadYaml('execution')->gen(30);
/**
title=测试 projectModel->getWaterfallProgress();
timeout=0
cid=1
- 测试获取不存在项目的进度 @0
- 测试获取敏捷项目的进度 @0
- 测试获取看板项目的进度 @0
- 测试获取瀑布项目的进度属性60 @0
- 测试获取瀑布项目的进度属性61 @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
zenData('project')->loadYaml('execution')->gen(30);
$projectIdList[0] = array(1);
$projectIdList[1] = array(11);
@@ -26,3 +30,4 @@ r($projectModule->getWaterfallProgress($projectIdList[0])) && p() && e('0');
r($projectModule->getWaterfallProgress($projectIdList[1])) && p() && e('0'); // 测试获取敏捷项目的进度
r($projectModule->getWaterfallProgress($projectIdList[2])) && p() && e('0'); // 测试获取看板项目的进度
r($projectModule->getWaterfallProgress($projectIdList[3])) && p('60') && e('0'); // 测试获取瀑布项目的进度
r($projectModule->getWaterfallProgress($projectIdList[3])) && p('61') && e('0'); // 测试获取瀑布项目的进度