+ [misc] Add unit tests for bugModel::getLinkedCommits() method

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-11-05 16:35:04 +08:00
co-authored by Claude
parent cf5747c349
commit d2c80fd2f1
4 changed files with 260 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
#!/usr/bin/env php
<?php
/**
title=测试 bugModel::getLinkedCommits();
timeout=0
cid=0
- 测试步骤1:正常情况,仓库1的3个有效版本号 @3
- 测试步骤2:正常情况,仓库2的2个版本号 @2
- 测试步骤3:边界值测试,空数组 @0
- 测试步骤4:异常输入,不存在的版本号 @0
- 测试步骤5:异常输入,不存在的仓库ID @0
- 测试步骤6:混合有效和无效版本号 @2
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/bug.unittest.class.php';
// 准备仓库历史记录数据
$repohistory = zendata('repohistory');
$repohistory->id->range('1-10');
$repohistory->repo->range('1{5},2{5}');
$repohistory->revision->range('rev001,rev002,rev003,rev004,rev005,rev006,rev007,rev008,rev009,rev010');
$repohistory->commit->range('1-10');
$repohistory->comment->range('Fix bug');
$repohistory->committer->range('admin');
$repohistory->time->range('`2024-01-01 00:00:00`');
$repohistory->gen(10);
// 准备关联关系数据
$relation = zendata('relation');
$relation->id->range('1-10');
$relation->project->range('1');
$relation->product->range('1');
$relation->execution->range('1');
$relation->AType->range('bug');
$relation->AID->range('1-10');
$relation->AVersion->range('1');
$relation->relation->range('completedin');
$relation->BType->range('commit');
$relation->BID->range('1-10');
$relation->BVersion->range('1');
$relation->extra->range('``');
$relation->gen(10);
// 准备Bug数据
$bug = zendata('bug');
$bug->id->range('1-10');
$bug->project->range('1');
$bug->product->range('1');
$bug->injection->range('``');
$bug->identify->range('``');
$bug->branch->range('0');
$bug->module->range('0');
$bug->execution->range('1');
$bug->plan->range('0');
$bug->story->range('0');
$bug->storyVersion->range('1');
$bug->task->range('0');
$bug->toTask->range('0');
$bug->toStory->range('0');
$bug->title->range('Bug 001,Bug 002,Bug 003,Bug 004,Bug 005,Bug 006,Bug 007,Bug 008,Bug 009,Bug 010');
$bug->status->range('active');
$bug->deleted->range('0');
$bug->gen(10);
su('admin');
$bugTest = new bugTest();
r(count($bugTest->getLinkedCommitsTest(1, array('rev001', 'rev002', 'rev003')))) && p() && e('3'); // 测试步骤1:正常情况,仓库1的3个有效版本号
r(count($bugTest->getLinkedCommitsTest(2, array('rev006', 'rev007')))) && p() && e('2'); // 测试步骤2:正常情况,仓库2的2个版本号
r(count($bugTest->getLinkedCommitsTest(1, array()))) && p() && e('0'); // 测试步骤3:边界值测试,空数组
r(count($bugTest->getLinkedCommitsTest(1, array('invalid001', 'invalid002')))) && p() && e('0'); // 测试步骤4:异常输入,不存在的版本号
r(count($bugTest->getLinkedCommitsTest(999, array('rev001', 'rev002')))) && p() && e('0'); // 测试步骤5:异常输入,不存在的仓库ID
r(count($bugTest->getLinkedCommitsTest(1, array('rev001', 'invalid001', 'rev002')))) && p() && e('2'); // 测试步骤6:混合有效和无效版本号
+133
View File
@@ -0,0 +1,133 @@
title: zt_bug for getLinkedCommits test
desc: Bug测试数据
author: Claude
version: "1.0"
fields:
- field: id
range: 1-10
- field: project
range: 1
- field: product
range: 1
- field: injection
range: "[]"
- field: identify
range: "[]"
- field: branch
range: 0
- field: module
range: 0
- field: execution
range: 1
- 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 001,Bug 002,Bug 003,Bug 004,Bug 005,Bug 006,Bug 007,Bug 008,Bug 009,Bug 010
- field: keywords
range: "[]"
- field: severity
range: 1-4
- field: pri
range: 1-4
- field: type
range: codeerror
- field: os
range: all
- field: browser
range: all
- field: hardware
range: "[]"
- field: found
range: "[]"
- field: steps
range: Test steps
- field: status
range: active
- field: subStatus
range: "[]"
- field: color
range: "[]"
- field: confirmed
range: 0-1
- field: activatedCount
range: 0
- field: activatedDate
range: "`NULL`"
- field: mailto
range: "[]"
- field: openedBy
range: admin
- field: openedDate
range: "2024-01-01 00:00:00"
- field: openedBuild
range: trunk
- field: assignedTo
range: admin
- field: assignedDate
range: "2024-01-01 00:00:00"
- field: deadline
range: "`NULL`"
- field: resolvedBy
range: "[]"
- field: resolution
range: "[]"
- field: resolvedBuild
range: "[]"
- field: resolvedDate
range: "`NULL`"
- field: closedBy
range: "[]"
- field: closedDate
range: "`NULL`"
- field: duplicateBug
range: 0
- field: linkBug
range: "[]"
- field: linkMR
range: 0
- field: linkPlan
range: "[]"
- field: case
range: 0
- field: caseVersion
range: 0
- field: result
range: 0
- field: repo
range: 0
- field: entry
range: "[]"
- field: lines
range: "[]"
- field: v1
range: "[]"
- field: v2
range: "[]"
- field: repoType
range: "[]"
- field: testtask
range: 0
- field: lastEditedBy
range: "[]"
- field: lastEditedDate
range: "`NULL`"
- field: deleted
range: "0"
- field: feedback
range: 0
- field: feedbackBy
range: "[]"
- field: notifyEmail
range: "[]"
- field: ditto
range: "0"
+29
View File
@@ -0,0 +1,29 @@
title: zt_relation for getLinkedCommits test
desc: 关联关系测试数据
author: Claude
version: "1.0"
fields:
- field: id
range: 1-10
- field: project
range: 1
- field: product
range: 1
- field: execution
range: 1
- field: AType
range: bug
- field: AID
range: 1-10
- field: AVersion
range: 1
- field: relation
range: completedin
- field: BType
range: commit
- field: BID
range: 1-10
- field: BVersion
range: 1
- field: extra
range: "[]"
@@ -0,0 +1,19 @@
title: zt_repohistory for getLinkedCommits test
desc: 仓库历史记录测试数据
author: Claude
version: "1.0"
fields:
- field: id
range: 1-10
- field: repo
range: 1{5},2{5}
- field: revision
range: rev001,rev002,rev003,rev004,rev005,rev006,rev007,rev008,rev009,rev010
- field: commit
range: 1-10
- field: comment
range: Fix bug
- field: committer
range: admin
- field: time
range: "2024-01-01 00:00:00"