+ [misc] Add unit tests for pivotTao::getBugGroup() method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-11-07 10:30:55 +08:00
co-authored by Claude
parent 6df3893fcf
commit d28b19344d
3 changed files with 182 additions and 0 deletions
+17
View File
@@ -38,4 +38,21 @@ class pivotTaoTest extends baseTest
if(dao::isError()) return dao::getError();
return $result;
}
/**
* Test getBugGroup method.
*
* @param string $begin
* @param string $end
* @param int $product
* @param int $execution
* @access public
* @return array
*/
public function getBugGroupTest(string $begin, string $end, int $product, int $execution): array
{
$result = $this->invokeArgs('getBugGroup', [$begin, $end, $product, $execution]);
if(dao::isError()) return dao::getError();
return $result;
}
}
+35
View File
@@ -0,0 +1,35 @@
#!/usr/bin/env php
<?php
/**
title=测试 pivotTao::getBugGroup();
timeout=0
cid=0
- 执行pivotTest模块的getBugGroupTest方法,参数是'2025-01-01', '2025-12-31', 0, 0 @1
- 执行pivotTest模块的getBugGroupTest方法,参数是'2025-01-01', '2025-12-31', 0, 0)['admin'] @90
- 执行pivotTest模块的getBugGroupTest方法,参数是'2025-01-01', '2025-12-31', 1, 0)['admin'] @3
- 执行pivotTest模块的getBugGroupTest方法,参数是'2025-01-01', '2025-12-31', 0, 101)['admin'] @3
- 执行getBugGroupTest('2025-01-01', '2025-12-31', 0, 0)['admin'][0]模块的openedBy方法 @admin
- 执行getBugGroupTest('2025-01-01', '2025-12-31', 0, 0)['admin'][0]模块的status方法 @active
- 执行getBugGroupTest('2025-01-01', '2025-12-31', 0, 0)['admin'][39]模块的resolution方法 @unResolved
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/tao.class.php';
zenData('bug')->loadYaml('getbuggroup/bug', false, 2)->gen(100);
su('admin');
$pivotTest = new pivotTaoTest();
r(count($pivotTest->getBugGroupTest('2025-01-01', '2025-12-31', 0, 0))) && p() && e('1');
r(count($pivotTest->getBugGroupTest('2025-01-01', '2025-12-31', 0, 0)['admin'])) && p() && e('90');
r(count($pivotTest->getBugGroupTest('2025-01-01', '2025-12-31', 1, 0)['admin'])) && p() && e('3');
r(count($pivotTest->getBugGroupTest('2025-01-01', '2025-12-31', 0, 101)['admin'])) && p() && e('3');
r($pivotTest->getBugGroupTest('2025-01-01', '2025-12-31', 0, 0)['admin'][0]->openedBy) && p() && e('admin');
r($pivotTest->getBugGroupTest('2025-01-01', '2025-12-31', 0, 0)['admin'][0]->status) && p() && e('active');
r($pivotTest->getBugGroupTest('2025-01-01', '2025-12-31', 0, 0)['admin'][39]->resolution) && p() && e('unResolved');
@@ -0,0 +1,130 @@
title: Bug测试数据
desc: 用于测试getBugGroup方法的Bug数据
version: 1.0
fields:
- field: id
range: 1-100
- field: project
range: 1
- field: product
range: 1-10
- field: injection
range: ""
- field: identify
range: ""
- field: branch
range: 0
- field: module
range: 0
- field: execution
range: 0{50},1-5{50}
- field: plan
range: 0
- field: story
range: 0
- field: storyVersion
range: 1
- field: task
range: 0
- field: toTask
range: 0
- field: toStory
range: 0
- field: title
range: Bug标题测试
- field: keywords
range: ""
- field: severity
range: 1-4
- field: pri
range: 1-4
- field: type
range: [codeerror,config,install,security,performance]
- field: os
range: ""
- field: browser
range: ""
- field: hardware
range: ""
- field: found
range: ""
- field: steps
range: 测试步骤
- field: status
range: active{40},resolved{30},closed{30}
- field: subStatus
range: ""
- field: color
range: ""
- field: confirmed
range: 0{50},1{50}
- field: activatedCount
range: 0
- field: activatedDate
range: "0000-00-00 00:00:00"
- field: feedbackBy
range: ""
- field: notifyEmail
range: ""
- field: mailto
range: ""
- field: openedBy
range: admin{30},user1{20},user2{20},user3{15},user4{15}
- field: openedDate
range: "2024-06-01 00:00:00"
- field: openedBuild
range: ""
- field: assignedTo
range: admin{20},user1{20},user2{20},user3{20},user4{20}
- field: assignedDate
range: "0000-00-00 00:00:00"
- field: deadline
range: "0000-00-00"
- field: resolvedBy
range: ""{40},admin{20},user1{20},user2{20}
- field: resolution
range: ""{40},fixed{25},postponed{15},duplicate{10},notrepro{10}
- field: resolvedBuild
range: ""
- field: resolvedDate
range: "0000-00-00 00:00:00"
- field: closedBy
range: ""
- field: closedDate
range: "0000-00-00 00:00:00"
- field: duplicateBug
range: 0
- field: relatedBug
range: ""
- field: case
range: 0
- field: caseVersion
range: 1
- field: feedback
range: 0
- field: result
range: 0
- field: repo
range: 0
- field: mr
range: 0
- field: entry
range: ""
- field: lines
range: ""
- field: v1
range: ""
- field: v2
range: ""
- field: repoType
range: ""
- field: issueKey
range: ""
- field: testtask
range: 0
- field: lastEditedBy
range: ""
- field: lastEditedDate
range: "0000-00-00 00:00:00"
- field: deleted
range: "0"