+ [misc] Add unit tests for buildZen::assignBugVarsForView() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
declare(strict_types = 1);
|
||||
|
||||
require_once dirname(__FILE__, 5) . '/test/lib/test.class.php';
|
||||
|
||||
class buildZenTest extends baseTest
|
||||
{
|
||||
protected $moduleName = 'build';
|
||||
protected $className = 'zen';
|
||||
|
||||
/**
|
||||
* Test assignBugVarsForView method.
|
||||
*
|
||||
* @param object $build
|
||||
* @param string $type
|
||||
* @param string $sort
|
||||
* @param string $param
|
||||
* @param object $bugPager
|
||||
* @param object $generatedBugPager
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function assignBugVarsForViewTest($build = null, $type = '', $sort = '', $param = '', $bugPager = null, $generatedBugPager = null)
|
||||
{
|
||||
if($bugPager === null)
|
||||
{
|
||||
$bugPager = new stdclass();
|
||||
$bugPager->recTotal = 0;
|
||||
$bugPager->pageTotal = 1;
|
||||
}
|
||||
|
||||
if($generatedBugPager === null)
|
||||
{
|
||||
$generatedBugPager = new stdclass();
|
||||
$generatedBugPager->recTotal = 0;
|
||||
$generatedBugPager->pageTotal = 1;
|
||||
}
|
||||
|
||||
$this->invokeArgs('assignBugVarsForView', [$build, $type, $sort, $param, $bugPager, $generatedBugPager]);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return array(
|
||||
'type' => $this->instance->view->type ?? '',
|
||||
'param' => $this->instance->view->param ?? '',
|
||||
'bugs' => $this->instance->view->bugs ?? array(),
|
||||
'generatedBugs' => $this->instance->view->generatedBugs ?? array(),
|
||||
'hasBugPager' => isset($this->instance->view->bugPager),
|
||||
'hasGeneratedPager' => isset($this->instance->view->generatedBugPager)
|
||||
);
|
||||
}
|
||||
}
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=测试 buildZen::assignBugVarsForView();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 执行buildTest模块的assignBugVarsForViewTest方法,参数是$buildObj, 'bug', 'id_desc', '', $bugPager, $generatedBugPager 属性type @bug
|
||||
- 执行buildTest模块的assignBugVarsForViewTest方法,参数是$buildObj, 'generatedBug', 'id_desc', '1', $bugPager, $generatedBugPager 属性type @generatedBug
|
||||
- 执行buildTest模块的assignBugVarsForViewTest方法,参数是$buildObj, 'bug', 'id_desc', 'test', $bugPager, $generatedBugPager 属性param @test
|
||||
- 执行buildTest模块的assignBugVarsForViewTest方法,参数是$buildObj, '', '', '', $bugPager, $generatedBugPager 属性type @~~
|
||||
- 执行buildTest模块的assignBugVarsForViewTest方法,参数是$buildObj, 'bug', 'id_desc', '', $bugPager, $generatedBugPager 属性hasBugPager @1
|
||||
- 执行buildTest模块的assignBugVarsForViewTest方法,参数是$buildObj, 'generatedBug', 'id_desc', '', $bugPager, $generatedBugPager 属性hasGeneratedPager @1
|
||||
- 执行buildTest模块的assignBugVarsForViewTest方法,参数是$buildObj, 'bug', 'status_asc', '', $bugPager, $generatedBugPager 属性type @bug
|
||||
|
||||
*/
|
||||
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/zen.class.php';
|
||||
|
||||
$bug = zenData('bug');
|
||||
$bug->id->range('1-20');
|
||||
$bug->product->range('1-3');
|
||||
$bug->execution->range('1-5');
|
||||
$bug->title->range('Bug 1-20')->prefix('Bug ');
|
||||
$bug->status->range('active{10},resolved{5},closed{5}');
|
||||
$bug->gen(20);
|
||||
|
||||
$build = zenData('build');
|
||||
$build->id->range('1-10');
|
||||
$build->product->range('1-3');
|
||||
$build->project->range('1-3');
|
||||
$build->execution->range('1-5');
|
||||
$build->name->range('Build 1-10')->prefix('Build ');
|
||||
$build->gen(10);
|
||||
|
||||
zenData('product')->gen(5);
|
||||
zenData('project')->gen(5);
|
||||
zenData('user')->gen(5);
|
||||
|
||||
global $tester;
|
||||
$tester->app->loadClass('pager', true);
|
||||
$tester->app->rawModule = 'build';
|
||||
$tester->app->rawMethod = 'view';
|
||||
|
||||
su('admin');
|
||||
|
||||
$buildTest = new buildZenTest();
|
||||
|
||||
$buildObj = new stdclass();
|
||||
$buildObj->id = 1;
|
||||
$buildObj->project = 1;
|
||||
$buildObj->product = 1;
|
||||
$buildObj->branch = 0;
|
||||
$buildObj->execution = 1;
|
||||
$buildObj->name = 'Test Build';
|
||||
$buildObj->allBugs = '1,2,3,4,5';
|
||||
$buildObj->builds = '';
|
||||
|
||||
$bugPager = new pager(0, 10, 1);
|
||||
$generatedBugPager = new pager(0, 10, 1);
|
||||
|
||||
r($buildTest->assignBugVarsForViewTest($buildObj, 'bug', 'id_desc', '', $bugPager, $generatedBugPager)) && p('type') && e('bug');
|
||||
r($buildTest->assignBugVarsForViewTest($buildObj, 'generatedBug', 'id_desc', '1', $bugPager, $generatedBugPager)) && p('type') && e('generatedBug');
|
||||
r($buildTest->assignBugVarsForViewTest($buildObj, 'bug', 'id_desc', 'test', $bugPager, $generatedBugPager)) && p('param') && e('test');
|
||||
r($buildTest->assignBugVarsForViewTest($buildObj, '', '', '', $bugPager, $generatedBugPager)) && p('type') && e('~~');
|
||||
r($buildTest->assignBugVarsForViewTest($buildObj, 'bug', 'id_desc', '', $bugPager, $generatedBugPager)) && p('hasBugPager') && e('1');
|
||||
r($buildTest->assignBugVarsForViewTest($buildObj, 'generatedBug', 'id_desc', '', $bugPager, $generatedBugPager)) && p('hasGeneratedPager') && e('1');
|
||||
r($buildTest->assignBugVarsForViewTest($buildObj, 'bug', 'status_asc', '', $bugPager, $generatedBugPager)) && p('type') && e('bug');
|
||||
@@ -0,0 +1,448 @@
|
||||
---
|
||||
title: Bug数据定义
|
||||
desc: 用于测试 assignBugVarsForView 方法的Bug数据
|
||||
author: Claude
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: Bug ID
|
||||
range: 1-20
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: project
|
||||
note: 项目ID
|
||||
range: 1-5
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: product
|
||||
note: 产品ID
|
||||
range: 1-3
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: injection
|
||||
note: 注入阶段
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: identify
|
||||
note: 识别阶段
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: branch
|
||||
note: 分支ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: module
|
||||
note: 所属模块
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: execution
|
||||
note: 执行ID
|
||||
range: 1-10
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: plan
|
||||
note: 计划ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: story
|
||||
note: 相关需求ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: storyVersion
|
||||
note: 需求版本
|
||||
range: '1'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: task
|
||||
note: 相关任务ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: toTask
|
||||
note: 转任务ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: toStory
|
||||
note: 转需求ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: title
|
||||
note: Bug标题
|
||||
range: 'Bug Title {5}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: keywords
|
||||
note: 关键字
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: severity
|
||||
note: 严重程度
|
||||
range: 1-4
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: pri
|
||||
note: 优先级
|
||||
range: 1-4
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: type
|
||||
note: Bug类型
|
||||
range: 'codeerror,config,install,security,performance'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: os
|
||||
note: 操作系统
|
||||
range: 'all,windows,linux,unix,mac,ios,android'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: browser
|
||||
note: 浏览器
|
||||
range: 'all,chrome,firefox,ie,edge,safari,opera'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: hardware
|
||||
note: 硬件
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: found
|
||||
note: 发现来源
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: steps
|
||||
note: 重现步骤
|
||||
range: 'Step 1\nStep 2\nStep 3'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: status
|
||||
note: Bug状态
|
||||
range: 'active{8},resolved{5},closed{7}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: subStatus
|
||||
note: 子状态
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: color
|
||||
note: 颜色标记
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: confirmed
|
||||
note: 是否确认
|
||||
range: '0,1'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: activatedCount
|
||||
note: 激活次数
|
||||
range: '0-3'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: activatedDate
|
||||
note: 激活日期
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: feedbackBy
|
||||
note: 反馈人
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: notifyEmail
|
||||
note: 通知邮箱
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: mailto
|
||||
note: 抄送给
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: openedBy
|
||||
note: 由谁创建
|
||||
range: 'admin,user1,user2'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: openedDate
|
||||
note: 创建日期
|
||||
range: (Y)-(M)-(D) 00:00:00
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: openedBuild
|
||||
note: 影响版本
|
||||
range: '1-5'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: assignedTo
|
||||
note: 指派给
|
||||
range: 'admin,user1,user2,[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: assignedDate
|
||||
note: 指派日期
|
||||
range: '(Y)-(M)-(D) 00:00:00,[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: deadline
|
||||
note: 截止日期
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: resolvedBy
|
||||
note: 解决者
|
||||
range: 'admin,user1,[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: resolution
|
||||
note: 解决方案
|
||||
range: 'fixed,postponed,willnotfix,bydesign,duplicate,[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: resolvedBuild
|
||||
note: 解决版本
|
||||
range: '1-5,[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: resolvedDate
|
||||
note: 解决日期
|
||||
range: '(Y)-(M)-(D) 00:00:00,[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: closedBy
|
||||
note: 由谁关闭
|
||||
range: 'admin,[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: closedDate
|
||||
note: 关闭日期
|
||||
range: '(Y)-(M)-(D) 00:00:00,[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: duplicateBug
|
||||
note: 重复Bug ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: linkBug
|
||||
note: 相关Bug
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: linkPlan
|
||||
note: 相关计划
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: case
|
||||
note: 相关用例ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: caseVersion
|
||||
note: 用例版本
|
||||
range: '1'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: result
|
||||
note: 测试结果ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: repo
|
||||
note: 代码仓库ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: mr
|
||||
note: 合并请求ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: entry
|
||||
note: 应用入口
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: lines
|
||||
note: 代码行数
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: v1
|
||||
note: v1版本
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: v2
|
||||
note: v2版本
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: repoType
|
||||
note: 仓库类型
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: testtask
|
||||
note: 测试单ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: lastEditedBy
|
||||
note: 最后修改者
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: lastEditedDate
|
||||
note: 最后修改日期
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: deleted
|
||||
note: 是否删除
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: priOrder
|
||||
note: 优先级排序
|
||||
range: '1-20'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
@@ -0,0 +1,140 @@
|
||||
---
|
||||
title: Build数据定义
|
||||
desc: 用于测试 assignBugVarsForView 方法的版本数据
|
||||
author: Claude
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: 版本ID
|
||||
range: 1-10
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: project
|
||||
note: 项目ID
|
||||
range: 1-5
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: product
|
||||
note: 产品ID
|
||||
range: 1-3
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: branch
|
||||
note: 分支ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: execution
|
||||
note: 执行ID
|
||||
range: 1-10
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: builds
|
||||
note: 关联的版本ID列表
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: name
|
||||
note: 版本名称
|
||||
range: 'build{3}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: system
|
||||
note: 子系统ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: scmPath
|
||||
note: 代码库路径
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: filePath
|
||||
note: 文件路径
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: date
|
||||
note: 打包日期
|
||||
range: (Y)-(M)-(D)
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: stories
|
||||
note: 包含的需求
|
||||
range: '1,2,3'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: bugs
|
||||
note: 包含的Bug
|
||||
range: '1,2,3,4,5'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: artifactRepoID
|
||||
note: 制品库ID
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: builder
|
||||
note: 构建者
|
||||
range: 'admin'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: desc
|
||||
note: 描述信息
|
||||
range: 'This is a test build{3}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: createdBy
|
||||
note: 创建者
|
||||
range: 'admin'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: createdDate
|
||||
note: 创建时间
|
||||
range: (Y)-(M)-(D) 00:00:00
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: deleted
|
||||
note: 是否删除
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
Reference in New Issue
Block a user