+ [misc] Add unit tests for programZen::getKanbanList() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -79,4 +79,21 @@ class programTest
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test getKanbanList method.
|
||||
*
|
||||
* @param string $browseType
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getKanbanListTest(string $browseType = 'my')
|
||||
{
|
||||
$method = $this->objectZen->getMethod('getKanbanList');
|
||||
$method->setAccessible(true);
|
||||
$result = $method->invokeArgs($this->objectZen->newInstance(), array($browseType));
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programZen::getKanbanList();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 测试步骤1:默认参数my获取看板列表 @1
|
||||
- 测试步骤2:参数为my获取看板列表 @1
|
||||
- 测试步骤3:参数为other获取看板列表 @1
|
||||
- 测试步骤4:参数为空字符串获取看板列表 @1
|
||||
- 测试步骤5:测试返回数组长度 @1
|
||||
- 测试步骤6:验证方法可正常调用无错误 @array
|
||||
|
||||
*/
|
||||
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/programzen.unittest.class.php';
|
||||
|
||||
zenData('project')->loadYaml('getkanbanlist/project', false, 2)->gen(50);
|
||||
zenData('product')->loadYaml('getkanbanlist/product', false, 2)->gen(30);
|
||||
zenData('productplan')->loadYaml('getkanbanlist/productplan', false, 2)->gen(40);
|
||||
zenData('release')->loadYaml('getkanbanlist/release', false, 2)->gen(30);
|
||||
zenData('projectproduct')->loadYaml('getkanbanlist/projectproduct', false, 2)->gen(25);
|
||||
zenData('stakeholder')->loadYaml('getkanbanlist/stakeholder', false, 2)->gen(50);
|
||||
|
||||
su('admin');
|
||||
|
||||
$programTest = new programTest();
|
||||
|
||||
r(is_array($programTest->getKanbanListTest())) && p() && e('1'); // 测试步骤1:默认参数my获取看板列表
|
||||
r(is_array($programTest->getKanbanListTest('my'))) && p() && e('1'); // 测试步骤2:参数为my获取看板列表
|
||||
r(is_array($programTest->getKanbanListTest('other'))) && p() && e('1'); // 测试步骤3:参数为other获取看板列表
|
||||
r(is_array($programTest->getKanbanListTest(''))) && p() && e('1'); // 测试步骤4:参数为空字符串获取看板列表
|
||||
r(count($programTest->getKanbanListTest('my')) >= 0) && p() && e('1'); // 测试步骤5:测试返回数组长度
|
||||
r(gettype($programTest->getKanbanListTest('my'))) && p() && e('array'); // 测试步骤6:验证方法可正常调用无错误
|
||||
@@ -0,0 +1,90 @@
|
||||
---
|
||||
title: 产品测试数据
|
||||
desc: 用于getKanbanList方法的产品测试数据
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: ID
|
||||
range: 1-30
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
- field: program
|
||||
note: 所属项目集
|
||||
range: 0{5},1{8},2{7},3{5},4{5}
|
||||
- field: name
|
||||
note: 产品名称
|
||||
range: '产品A{5},产品B{5},产品C{5},产品D{5},产品E{5},产品F{5}'
|
||||
- field: code
|
||||
note: 产品代码
|
||||
range: ''
|
||||
- field: shadow
|
||||
note: 影子产品
|
||||
range: 0
|
||||
- field: bind
|
||||
note: 绑定
|
||||
range: '0'
|
||||
- field: line
|
||||
note: 产品线
|
||||
range: 0
|
||||
- field: type
|
||||
note: 类型
|
||||
range: normal
|
||||
- field: status
|
||||
note: 状态
|
||||
range: normal
|
||||
- field: subStatus
|
||||
note: 子状态
|
||||
range: ''
|
||||
- field: desc
|
||||
note: 描述
|
||||
range: ''
|
||||
- field: PO
|
||||
note: 产品负责人
|
||||
range: admin{15},user1{8},user2{7}
|
||||
- field: QD
|
||||
note: QD
|
||||
range: ''
|
||||
- field: RD
|
||||
note: RD
|
||||
range: ''
|
||||
- field: feedback
|
||||
note: 反馈
|
||||
range: ''
|
||||
- field: ticket
|
||||
note: 工单
|
||||
range: ''
|
||||
- field: workflowGroup
|
||||
note: 工作流组
|
||||
range: 0
|
||||
- field: acl
|
||||
note: 访问控制
|
||||
range: open
|
||||
- field: groups
|
||||
note: 分组
|
||||
range: ''
|
||||
- field: whitelist
|
||||
note: 白名单
|
||||
range: ''
|
||||
- field: reviewer
|
||||
note: 评审者
|
||||
range: ''
|
||||
- field: createdBy
|
||||
note: 创建者
|
||||
range: admin
|
||||
- field: createdDate
|
||||
note: 创建时间
|
||||
range: '(-6M)-(-1M):30D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD hh:mm:ss
|
||||
- field: createdVersion
|
||||
note: 创建版本
|
||||
range: ''
|
||||
- field: order
|
||||
note: 排序
|
||||
range: 0
|
||||
- field: vision
|
||||
note: 视图
|
||||
range: rnd
|
||||
- field: deleted
|
||||
note: 已删除
|
||||
range: '0'
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
title: 产品计划测试数据
|
||||
desc: 用于getKanbanList方法的产品计划测试数据
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: ID
|
||||
range: 1-40
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
- field: product
|
||||
note: 所属产品
|
||||
range: 1-30:R
|
||||
- field: branch
|
||||
note: 分支
|
||||
range: '0'
|
||||
- field: parent
|
||||
note: 父计划
|
||||
range: 0
|
||||
- field: title
|
||||
note: 计划名称
|
||||
range: '计划1.0{10},计划2.0{10},计划3.0{10},计划4.0{5},计划5.0{5}'
|
||||
- field: status
|
||||
note: 状态
|
||||
range: '[wait]{10},[doing]{15},[done]{10},[closed]{5}'
|
||||
- field: desc
|
||||
note: 描述
|
||||
range: ''
|
||||
- field: begin
|
||||
note: 开始时间
|
||||
range: '(-3M)-(-1M):30D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD
|
||||
- field: end
|
||||
note: 结束时间
|
||||
range: '(+1M)-(+6M):60D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD
|
||||
- field: finishedDate
|
||||
note: 完成时间
|
||||
range: '[]'
|
||||
- field: closedDate
|
||||
note: 关闭时间
|
||||
range: '[]'
|
||||
- field: order
|
||||
note: 排序
|
||||
range: ''
|
||||
- field: closedReason
|
||||
note: 关闭原因
|
||||
range: ''
|
||||
- field: createdBy
|
||||
note: 创建者
|
||||
range: admin
|
||||
- field: createdDate
|
||||
note: 创建时间
|
||||
range: '(-3M)-(-1M):30D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD hh:mm:ss
|
||||
- field: deleted
|
||||
note: 已删除
|
||||
range: '0'
|
||||
@@ -0,0 +1,194 @@
|
||||
---
|
||||
title: 项目集和项目测试数据
|
||||
desc: 用于getKanbanList方法的项目集测试数据
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: ID
|
||||
range: 1-50
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
- field: project
|
||||
note: 所属项目
|
||||
range: 0
|
||||
- field: isTpl
|
||||
note: 是否模板
|
||||
range: 0
|
||||
- field: charter
|
||||
note: 章程
|
||||
range: 0
|
||||
- field: model
|
||||
note: 模型
|
||||
range: ''
|
||||
- field: type
|
||||
note: 类型
|
||||
range: '[program]{20},[project]{10},[sprint]{5},[stage]{5},[kanban]{5},[waterfallplus]{5}'
|
||||
- field: category
|
||||
note: 分类
|
||||
range: ''
|
||||
- field: lifetime
|
||||
note: 生命周期
|
||||
range: ''
|
||||
- field: budget
|
||||
note: 预算
|
||||
range: '0'
|
||||
- field: budgetUnit
|
||||
note: 预算单位
|
||||
range: CNY
|
||||
- field: attribute
|
||||
note: 属性
|
||||
range: ''
|
||||
- field: percent
|
||||
note: 百分比
|
||||
range: 0
|
||||
- field: milestone
|
||||
note: 里程碑
|
||||
range: '0'
|
||||
- field: output
|
||||
note: 输出
|
||||
range: ''
|
||||
- field: auth
|
||||
note: 权限
|
||||
range: ''
|
||||
- field: storyType
|
||||
note: 需求类型
|
||||
range: ''
|
||||
- field: parent
|
||||
note: 父项目集
|
||||
range: 0{30},1{10},2{10}
|
||||
- field: path
|
||||
note: 路径
|
||||
range: '`,`'
|
||||
- field: grade
|
||||
note: 等级
|
||||
range: 1{30},2{20}
|
||||
- field: name
|
||||
note: 名称
|
||||
range: '顶级项目集{10},子项目集{10},项目{20},执行{10}'
|
||||
- field: code
|
||||
note: 代码
|
||||
range: ''
|
||||
- field: hasProduct
|
||||
note: 是否有产品
|
||||
range: '0'
|
||||
- field: begin
|
||||
note: 开始时间
|
||||
range: '(-6M)-(-1M):60D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD
|
||||
- field: end
|
||||
note: 结束时间
|
||||
range: '(+1M)-(+12M):60D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD
|
||||
- field: realBegan
|
||||
note: 实际开始时间
|
||||
range: '(-5M)-(-1M):60D,[]{10}'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD
|
||||
- field: realEnd
|
||||
note: 实际结束时间
|
||||
range: '[]{45},(-1M)-(+1M):60D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD
|
||||
- field: status
|
||||
note: 状态
|
||||
range: '[wait]{15},[doing]{20},[suspended]{5},[closed]{10}'
|
||||
- field: subStatus
|
||||
note: 子状态
|
||||
range: ''
|
||||
- field: pri
|
||||
note: 优先级
|
||||
range: 1-4
|
||||
- field: desc
|
||||
note: 描述
|
||||
range: ''
|
||||
- field: version
|
||||
note: 版本
|
||||
range: 1
|
||||
- field: parentVersion
|
||||
note: 父版本
|
||||
range: 1
|
||||
- field: planDuration
|
||||
note: 计划工期
|
||||
range: 0
|
||||
- field: realDuration
|
||||
note: 实际工期
|
||||
range: 0
|
||||
- field: openedBy
|
||||
note: 创建者
|
||||
range: admin{30},user1{10},user2{10}
|
||||
- field: openedDate
|
||||
note: 创建时间
|
||||
range: '(-6M)-(-1M):30D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD hh:mm:ss
|
||||
- field: openedVersion
|
||||
note: 创建版本
|
||||
range: ''
|
||||
- field: lastEditedBy
|
||||
note: 最后编辑者
|
||||
range: '[]'
|
||||
- field: lastEditedDate
|
||||
note: 最后编辑时间
|
||||
range: '[]'
|
||||
- field: closedBy
|
||||
note: 关闭者
|
||||
range: '[]'
|
||||
- field: closedDate
|
||||
note: 关闭时间
|
||||
range: '[]'
|
||||
- field: canceledBy
|
||||
note: 取消者
|
||||
range: '[]'
|
||||
- field: canceledDate
|
||||
note: 取消时间
|
||||
range: '[]'
|
||||
- field: suspendedDate
|
||||
note: 挂起时间
|
||||
range: '[]'
|
||||
- field: PO
|
||||
note: 产品负责人
|
||||
range: '[]'
|
||||
- field: PM
|
||||
note: 项目经理
|
||||
range: admin{30},user1{10},user2{10}
|
||||
- field: QD
|
||||
note: QD
|
||||
range: '[]'
|
||||
- field: RD
|
||||
note: RD
|
||||
range: '[]'
|
||||
- field: team
|
||||
note: 团队
|
||||
range: '[]'
|
||||
- field: acl
|
||||
note: 访问控制
|
||||
range: open
|
||||
- field: whitelist
|
||||
note: 白名单
|
||||
range: '[]'
|
||||
- field: order
|
||||
note: 排序
|
||||
range: 0
|
||||
- field: deleted
|
||||
note: 已删除
|
||||
range: '0'
|
||||
- field: vision
|
||||
note: 视图
|
||||
range: rnd
|
||||
- field: displayCards
|
||||
note: 显示卡片
|
||||
range: 0
|
||||
- field: fluidBoard
|
||||
note: 流体看板
|
||||
range: '0'
|
||||
- field: colWidth
|
||||
note: 列宽
|
||||
range: 264
|
||||
- field: minColWidth
|
||||
note: 最小列宽
|
||||
range: 200
|
||||
- field: maxColWidth
|
||||
note: 最大列宽
|
||||
range: 384
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: 项目产品关联测试数据
|
||||
desc: 用于getKanbanList方法的项目产品关联测试数据
|
||||
|
||||
fields:
|
||||
- field: project
|
||||
note: 项目ID
|
||||
range: 21-45
|
||||
- field: product
|
||||
note: 产品ID
|
||||
range: 1-30:R
|
||||
- field: branch
|
||||
note: 分支
|
||||
range: '0'
|
||||
- field: plan
|
||||
note: 计划
|
||||
range: ''
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
title: 发布测试数据
|
||||
desc: 用于getKanbanList方法的发布测试数据
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: ID
|
||||
range: 1-30
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
- field: project
|
||||
note: 所属项目
|
||||
range: '0'
|
||||
- field: product
|
||||
note: 所属产品
|
||||
range: 1-30:R
|
||||
- field: branch
|
||||
note: 分支
|
||||
range: '0'
|
||||
- field: shadow
|
||||
note: 影子发布
|
||||
range: 0
|
||||
- field: build
|
||||
note: 版本
|
||||
range: ''
|
||||
- field: name
|
||||
note: 发布名称
|
||||
range: '发布V1.0{10},发布V2.0{10},发布V3.0{10}'
|
||||
- field: system
|
||||
note: 系统
|
||||
range: 0
|
||||
- field: releases
|
||||
note: 发布
|
||||
range: ''
|
||||
- field: marker
|
||||
note: 标记
|
||||
range: '0'
|
||||
- field: date
|
||||
note: 发布日期
|
||||
range: '(-2M)-(+1M):30D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD
|
||||
- field: releasedDate
|
||||
note: 实际发布日期
|
||||
range: '(-2M)-(+1M):30D,[]{5}'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD
|
||||
- field: stories
|
||||
note: 需求
|
||||
range: ''
|
||||
- field: bugs
|
||||
note: Bug
|
||||
range: ''
|
||||
- field: leftBugs
|
||||
note: 遗留Bug
|
||||
range: ''
|
||||
- field: desc
|
||||
note: 描述
|
||||
range: ''
|
||||
- field: mailto
|
||||
note: 邮件通知
|
||||
range: ''
|
||||
- field: notify
|
||||
note: 通知
|
||||
range: ''
|
||||
- field: status
|
||||
note: 状态
|
||||
range: normal
|
||||
- field: subStatus
|
||||
note: 子状态
|
||||
range: ''
|
||||
- field: createdBy
|
||||
note: 创建者
|
||||
range: admin
|
||||
- field: createdDate
|
||||
note: 创建时间
|
||||
range: '(-2M)-(-1M):15D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD hh:mm:ss
|
||||
- field: deleted
|
||||
note: 已删除
|
||||
range: '0'
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: 干系人测试数据
|
||||
desc: 用于getKanbanList方法的干系人测试数据
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: ID
|
||||
range: 1-50
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
- field: objectID
|
||||
note: 对象ID
|
||||
range: 1-20:R
|
||||
- field: objectType
|
||||
note: 对象类型
|
||||
range: '[program]{30},[project]{20}'
|
||||
- field: user
|
||||
note: 用户
|
||||
range: admin{20},user1{15},user2{15}
|
||||
- field: name
|
||||
note: 名称
|
||||
range: ''
|
||||
- field: type
|
||||
note: 类型
|
||||
range: inside
|
||||
- field: key
|
||||
note: 关键
|
||||
range: no
|
||||
- field: from
|
||||
note: 来源
|
||||
range: ''
|
||||
- field: createdBy
|
||||
note: 创建者
|
||||
range: admin
|
||||
- field: createdDate
|
||||
note: 创建时间
|
||||
range: '(-3M)-(-1M):15D'
|
||||
type: timestamp
|
||||
format: YYYY-MM-DD hh:mm:ss
|
||||
- field: editedBy
|
||||
note: 编辑者
|
||||
range: '[]'
|
||||
- field: editedDate
|
||||
note: 编辑时间
|
||||
range: '[]'
|
||||
- field: deleted
|
||||
note: 已删除
|
||||
range: '0'
|
||||
Reference in New Issue
Block a user