+ [misc] Add unit tests for myTao::fetchRequirementsBySearch() method

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-15 15:09:43 +08:00
co-authored by Claude
parent 65e158951f
commit bb021cb8d6
5 changed files with 167 additions and 0 deletions
+23
View File
@@ -795,4 +795,27 @@ class myTest
return count($result);
}
/**
* Test fetchRequirementsBySearch method.
*
* @param string $myRequirementQuery
* @param string $type
* @param string $orderBy
* @param object $pager
* @param array $requirementIDList
* @access public
* @return mixed
*/
public function fetchRequirementsBySearchTest(string $myRequirementQuery, string $type, string $orderBy, ?object $pager = null, array $requirementIDList = array())
{
$reflection = new ReflectionClass($this->objectTao);
$method = $reflection->getMethod('fetchRequirementsBySearch');
$method->setAccessible(true);
$result = $method->invokeArgs($this->objectTao, [$myRequirementQuery, $type, $orderBy, $pager, $requirementIDList]);
if(dao::isError()) return dao::getError();
return count($result);
}
}
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env php
<?php
/**
title=测试 myTao::fetchRequirementsBySearch();
timeout=0
cid=0
- 执行myTest模块的fetchRequirementsBySearchTest方法,参数是"t1.deleted = '0'", 'contribute', 'id_desc', null, array @3
- 执行myTest模块的fetchRequirementsBySearchTest方法,参数是"t1.deleted = '0'", 'assigned', 'id_desc', null, array @3
- 执行myTest模块的fetchRequirementsBySearchTest方法,参数是"1 = 1", 'contribute', 'id_desc', null, array @3
- 执行myTest模块的fetchRequirementsBySearchTest方法,参数是"t1.deleted = '0'", 'contribute', 'id_desc', null, array @4
- 执行myTest模块的fetchRequirementsBySearchTest方法,参数是"t1.deleted = '0'", 'contribute', 'priOrder_desc', null, array @3
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/my.unittest.class.php';
zenData('story')->loadYaml('story_fetchrequirementsbysearch', false, 2)->gen(10);
zenData('product')->loadYaml('product_fetchrequirementsbysearch', false, 2)->gen(3);
zenData('storyreview')->loadYaml('storyreview_fetchrequirementsbysearch', false, 2)->gen(10);
su('admin');
$myTest = new myTest();
r($myTest->fetchRequirementsBySearchTest("t1.deleted = '0'", 'contribute', 'id_desc', null, array())) && p() && e(3);
r($myTest->fetchRequirementsBySearchTest("t1.deleted = '0'", 'assigned', 'id_desc', null, array())) && p() && e(3);
r($myTest->fetchRequirementsBySearchTest("1 = 1", 'contribute', 'id_desc', null, array())) && p() && e(3);
r($myTest->fetchRequirementsBySearchTest("t1.deleted = '0'", 'contribute', 'id_desc', null, array(1, 2, 3))) && p() && e(4);
r($myTest->fetchRequirementsBySearchTest("t1.deleted = '0'", 'contribute', 'priOrder_desc', null, array())) && p() && e(3);
@@ -0,0 +1,24 @@
---
title: 产品数据
desc: fetchRequirementsBySearch测试的产品数据
author: Claude Code
version: "1.0"
fields:
- field: id
range: 1-3
- field: name
range: '产品A,产品B,产品C'
- field: code
range: 'PROD-A,PROD-B,PROD-C'
- field: type
range: normal{3}
- field: status
range: normal{3}
- field: deleted
range: 0{3}
@@ -0,0 +1,66 @@
---
title: 用户需求数据
desc: fetchRequirementsBySearch测试的用户需求数据
author: Claude Code
version: "1.0"
fields:
- field: id
range: 1-10
- field: vision
range: rnd{10}
- field: parent
range: 0{10}
- field: isParent
range: 0{10}
- field: root
range: 0{10}
- field: product
range: 1-3
- field: branch
range: 0{10}
- field: module
range: 0{10}
- field: title
range: '用户需求{1-10}'
- field: type
range: requirement{10}
- field: category
range: feature{10}
- field: pri
range: 1-4
- field: estimate
range: 1-10
- field: status
range: active{3},reviewing{2},draft{2},closed{3}
- field: assignedTo
range: admin{3},user1{3},user2{3},user3{1}
- field: openedBy
range: admin{4},user1{3},user2{3}
- field: openedDate
range: '2024-01-01 10:00:00{5},2024-02-01 10:00:00{5}'
- field: closedBy
range: ''{7},admin{2},user1{1}
- field: closedDate
range: '0000-00-00 00:00:00'{7},'2024-03-01 10:00:00'{3}
- field: deleted
range: 0{10}
@@ -0,0 +1,21 @@
---
title: 需求评审数据
desc: fetchRequirementsBySearch测试的评审数据
author: Claude Code
version: "1.0"
fields:
- field: story
range: 1-10
- field: version
range: 1{10}
- field: reviewer
range: admin{4},user1{3},user2{3}
- field: result
range: ''{8},pass{2}
- field: reviewDate
range: '0000-00-00 00:00:00'{8},'2024-01-15 10:00:00'{2}