+ [misc] Add unit tests for programZen::getPMListByPrograms() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
declare(strict_types = 1);
|
||||
class programTest
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
global $tester;
|
||||
$this->tester = $tester;
|
||||
$tester->app->setModuleName('program');
|
||||
$tester->loadModel('program');
|
||||
|
||||
$this->objectZen = initReference('program');
|
||||
}
|
||||
|
||||
/**
|
||||
* Test getPMListByPrograms method.
|
||||
*
|
||||
* @param array $programs
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function getPMListByProgramsTest($programs = array())
|
||||
{
|
||||
$method = $this->objectZen->getMethod('getPMListByPrograms');
|
||||
$method->setAccessible(true);
|
||||
$result = $method->invokeArgs($this->objectZen->newInstance(), array($programs));
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programZen::getPMListByPrograms();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 执行programTest模块的getPMListByProgramsTest方法,参数是array @0
|
||||
|
||||
*/
|
||||
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/programzen.unittest.class.php';
|
||||
|
||||
zendata('project')->loadYaml('project_getpmlistbyprograms', false, 2)->gen(20);
|
||||
zendata('user')->loadYaml('user_getpmlistbyprograms', false, 2)->gen(10);
|
||||
|
||||
su('admin');
|
||||
|
||||
$programTest = new programTest();
|
||||
|
||||
r($programTest->getPMListByProgramsTest(array())) && p() && e('0');
|
||||
r($programTest->getPMListByProgramsTest(array(
|
||||
(object)array('id' => 1, 'type' => 'program', 'PM' => 'admin'),
|
||||
(object)array('id' => 2, 'type' => 'program', 'PM' => 'user1')
|
||||
))) && p() && e('2');
|
||||
r($programTest->getPMListByProgramsTest(array(
|
||||
(object)array('id' => 1, 'type' => 'program', 'PM' => 'admin'),
|
||||
(object)array('id' => 2, 'type' => 'program', 'PM' => ''),
|
||||
(object)array('id' => 3, 'type' => 'program', 'PM' => 'user2')
|
||||
))) && p() && e('2');
|
||||
r($programTest->getPMListByProgramsTest(array(
|
||||
(object)array('id' => 1, 'type' => 'program', 'PM' => 'admin'),
|
||||
(object)array('id' => 2, 'type' => 'program', 'PM' => 'admin'),
|
||||
(object)array('id' => 3, 'type' => 'program', 'PM' => 'user1')
|
||||
))) && p() && e('2');
|
||||
r($programTest->getPMListByProgramsTest(array(
|
||||
(object)array('id' => 1, 'type' => 'program', 'PM' => 'admin'),
|
||||
(object)array('id' => 2, 'type' => 'project', 'PM' => 'user1')
|
||||
))) && p() && e('2');
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
title: 测试数据:项目集和项目数据
|
||||
desc: 为getPMListByPrograms方法测试提供项目集和项目测试数据
|
||||
author: Claude
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: 项目ID
|
||||
range: 1-20
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: type
|
||||
note: 项目类型
|
||||
range: program{5},project{15}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: name
|
||||
note: 项目名称
|
||||
range: 项目集A,项目集B,项目集C,项目集D,项目集E,项目A1,项目A2,项目B1,项目B2,项目B3,项目C1,项目C2,项目C3,项目D1,项目D2,项目D3,项目E1,项目E2,项目E3,项目E4
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: PM
|
||||
note: 项目经理
|
||||
range: admin{5},user1{3},user2{4},user3{3},user4{2},[]{3}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: status
|
||||
note: 项目状态
|
||||
range: doing{8},wait{5},closed{4},suspended{3}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: parent
|
||||
note: 父项目
|
||||
range: 0{5},1{3},2{4},3{3},4{2},5{3}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: deleted
|
||||
note: 删除标记
|
||||
range: 0
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: 测试数据:用户数据
|
||||
desc: 为getPMListByPrograms方法测试提供用户测试数据
|
||||
author: Claude
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: 用户ID
|
||||
range: 1-10
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: account
|
||||
note: 用户账号
|
||||
range: admin,user1,user2,user3,user4,user5,user6,user7,user8,user9
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: realname
|
||||
note: 真实姓名
|
||||
range: 管理员,用户一,用户二,用户三,用户四,用户五,用户六,用户七,用户八,用户九
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: role
|
||||
note: 用户角色
|
||||
range: admin{1},qa{3},dev{4},pm{2}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: avatar
|
||||
note: 头像
|
||||
range: ""
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: deleted
|
||||
note: 删除标记
|
||||
range: 0
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
Reference in New Issue
Block a user