* [misc] Enhance unit tests for repoModel::getRelationByCommit() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,36 +1,78 @@
|
||||
#!/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=- 获取任务关联信息第8条的title属性 @
|
||||
title=测试 repoModel::getRelationByCommit();
|
||||
timeout=0
|
||||
cid=8
|
||||
cid=0
|
||||
|
||||
- 获取任务关联信息第0条的type属性 @task
|
||||
- 获取任务关联信息第0条的id属性 @4
|
||||
- 获取任务关联信息第0条的type属性 @story
|
||||
- 步骤1:根据代码库ID和提交版本获取任务关联信息第0条的type属性 @task
|
||||
- 步骤2:根据代码库ID和提交版本获取缺陷关联信息第0条的id属性 @4
|
||||
- 步骤3:根据代码库ID和提交版本获取需求关联信息第0条的type属性 @story
|
||||
- 步骤4:测试不存在的提交版本查询 @0
|
||||
- 步骤5:测试无效的代码库ID查询 @0
|
||||
- 步骤6:测试获取所有类型的关联信息 @Array
|
||||
- 步骤7:测试空提交版本参数查询 @(
|
||||
|
||||
*/
|
||||
|
||||
zenData('task')->gen(10);
|
||||
zenData('bug')->gen(10);
|
||||
zenData('story')->gen(10);
|
||||
zenData('relation')->loadYaml('relation')->gen(3);
|
||||
zenData('repo')->loadYaml('config')->gen(4);
|
||||
zenData('repohistory')->loadYaml('repohistory')->gen(1);
|
||||
// 1. 导入依赖(路径固定,不可修改)
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/repo.unittest.class.php';
|
||||
|
||||
global $tester, $app;
|
||||
$repo = $tester->loadModel('repo');
|
||||
include($app->getModuleRoot() . '/repo/control.php');
|
||||
$app->control = new repo();
|
||||
// 2. zendata数据准备
|
||||
$taskTable = zenData('task');
|
||||
$taskTable->id->range('1-20');
|
||||
$taskTable->name->range('任务1,任务2,任务3,任务4,任务5,任务6,任务7,任务8{12}');
|
||||
$taskTable->status->range('wait{5},doing{10},done{5}');
|
||||
$taskTable->gen(20);
|
||||
|
||||
$repoID = 1;
|
||||
$commit = 'c808480afe22d3a55d94e91c59a8f3170212ade0';
|
||||
$bugTable = zenData('bug');
|
||||
$bugTable->id->range('1-20');
|
||||
$bugTable->title->range('缺陷1,缺陷2,缺陷3,缺陷4{16}');
|
||||
$bugTable->status->range('active{10},resolved{10}');
|
||||
$bugTable->gen(20);
|
||||
|
||||
r($repo->getRelationByCommit($repoID, $commit, 'task')) && p('0:type') && e('task'); //获取任务关联信息
|
||||
r($repo->getRelationByCommit($repoID, $commit, 'bug')) && p('0:id') && e('4'); //获取任务关联信息
|
||||
r($repo->getRelationByCommit($repoID, $commit, 'story')) && p('0:type') && e('story'); //获取任务关联信息
|
||||
$storyTable = zenData('story');
|
||||
$storyTable->id->range('1-20');
|
||||
$storyTable->title->range('需求1,需求2,需求3,需求4,需求5,需求6,需求7,需求8,需求9,需求10{10}');
|
||||
$storyTable->status->range('active{10},closed{10}');
|
||||
$storyTable->gen(20);
|
||||
|
||||
$relationTable = zenData('relation');
|
||||
$relationTable->id->range('1-6');
|
||||
$relationTable->product->range('1{6}');
|
||||
$relationTable->execution->range('1{6}');
|
||||
$relationTable->AType->range('revision{6}');
|
||||
$relationTable->AID->range('1{6}');
|
||||
$relationTable->AVersion->range('1{6}');
|
||||
$relationTable->relation->range('commit{6}');
|
||||
$relationTable->BType->range('task,bug,story,task,bug,story');
|
||||
$relationTable->BID->range('8,4,10,9,5,11');
|
||||
$relationTable->BVersion->range('1{6}');
|
||||
$relationTable->extra->range('1{6}');
|
||||
$relationTable->gen(6);
|
||||
|
||||
$repoTable = zenData('repo');
|
||||
$repoTable->id->range('1-5');
|
||||
$repoTable->name->range('测试代码库1,测试代码库2,测试代码库3{3}');
|
||||
$repoTable->SCM->range('Git{5}');
|
||||
$repoTable->gen(5);
|
||||
|
||||
zenData('repohistory')->loadYaml('repohistory')->gen(5);
|
||||
|
||||
// 3. 用户登录
|
||||
su('admin');
|
||||
|
||||
// 4. 创建测试实例
|
||||
$repoTest = new repoTest();
|
||||
|
||||
// 5. 测试步骤(必须包含至少5个测试步骤)
|
||||
r($repoTest->getRelationByCommitTest(1, 'c808480afe22d3a55d94e91c59a8f3170212ade0', 'task')) && p('0:type') && e('task'); // 步骤1:根据代码库ID和提交版本获取任务关联信息
|
||||
r($repoTest->getRelationByCommitTest(1, 'c808480afe22d3a55d94e91c59a8f3170212ade0', 'bug')) && p('0:id') && e('4'); // 步骤2:根据代码库ID和提交版本获取缺陷关联信息
|
||||
r($repoTest->getRelationByCommitTest(1, 'c808480afe22d3a55d94e91c59a8f3170212ade0', 'story')) && p('0:type') && e('story'); // 步骤3:根据代码库ID和提交版本获取需求关联信息
|
||||
r($repoTest->getRelationByCommitTest(1, 'nonexistent-commit-hash', 'task')) && p() && e('0'); // 步骤4:测试不存在的提交版本查询
|
||||
r($repoTest->getRelationByCommitTest(999, 'c808480afe22d3a55d94e91c59a8f3170212ade0', 'task')) && p() && e('0'); // 步骤5:测试无效的代码库ID查询
|
||||
r($repoTest->getRelationByCommitTest(1, 'c808480afe22d3a55d94e91c59a8f3170212ade0', '')) && p() && e('Array'); // 步骤6:测试获取所有类型的关联信息
|
||||
r($repoTest->getRelationByCommitTest(1, '', 'task')) && p() && e('('); // 步骤7:测试空提交版本参数查询
|
||||
Reference in New Issue
Block a user