* [misc] Enhance unit tests for repoModel::getTaskProductsAndExecutions() method

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-25 09:16:31 +08:00
co-authored by Claude
parent 8e20ae2deb
commit 6fb68645c2
@@ -1,33 +1,55 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/repo.unittest.class.php';
su('admin');
/**
title=测试 repoModel->getTaskProductsAndExecutions();
title=测试 repoModel::getTaskProductsAndExecutions();
timeout=0
cid=1
- 获取任务执行第1条的execution属性 @30
- 获取任务产品第4条的product属性 @,23,
- 获取任务产品第4条的product属性 @,24,26,
- 任务为空时获取列表 @0
- 不存在任务ID时获取列表 @0
- 混合有效无效任务ID第1条的execution属性 @30
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/repo.unittest.class.php';
$task = zenData('task');
$task->id->range('1-10');
$task->execution->range('30-60');
$task->name->range('任务1,任务2,任务3,任务4,任务5,任务6,任务7,任务8,任务9,任务10');
$task->status->range('wait,doing,done');
$task->gen(10);
zenData('product')->gen(50);
zenData('project')->gen(50);
zenData('projectproduct')->gen(100);
$product = zenData('product');
$product->id->range('20-30');
$product->name->range('产品1,产品2,产品3,产品4,产品5,产品6,产品7,产品8,产品9,产品10,产品11');
$product->gen(11);
$project = zenData('project');
$project->id->range('30-70');
$project->name->range('项目1,项目2,项目3,项目4,项目5,项目6,项目7,项目8,项目9,项目10{41}');
$project->type->range('project{20},execution{21}');
$project->gen(41);
$projectproduct = zenData('projectproduct');
$projectproduct->project->range('30-70');
$projectproduct->product->range('20-30:2');
$projectproduct->gen(50);
su('admin');
$repo = $tester->loadModel('repo');
$taskIds = array(1, 2, 4);
$result = $repo->getTaskProductsAndExecutions($taskIds);
r($result) && p('1:execution') && e('30'); //获取任务执行
r($result) && p('4:product', ';') && e(',23,'); //获取任务产品
r($repo->getTaskProductsAndExecutions(array())) && p() && e('0'); //任务为空时获取列表
r($result) && p('1:execution') && e('30'); // 获取任务执行
r($result) && p('4:product', ';') && e(',24,26,'); // 获取任务产品
r($repo->getTaskProductsAndExecutions(array())) && p() && e('0'); // 任务为空时获取列表
r($repo->getTaskProductsAndExecutions(array(999, 1000))) && p() && e('0'); // 不存在任务ID时获取列表
r($repo->getTaskProductsAndExecutions(array(1, 999, 2))) && p('1:execution') && e('30'); // 混合有效无效任务ID