+ [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:
Executable
+79
@@ -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:混合有效和无效版本号
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user