diff --git a/module/bug/test/model/getlinkedcommits.php b/module/bug/test/model/getlinkedcommits.php new file mode 100755 index 0000000000..4e466e33e9 --- /dev/null +++ b/module/bug/test/model/getlinkedcommits.php @@ -0,0 +1,79 @@ +#!/usr/bin/env php +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:混合有效和无效版本号 \ No newline at end of file diff --git a/test/data/bug_getlinkedcommits.yaml b/test/data/bug_getlinkedcommits.yaml new file mode 100644 index 0000000000..97744a905a --- /dev/null +++ b/test/data/bug_getlinkedcommits.yaml @@ -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" diff --git a/test/data/relation_getlinkedcommits.yaml b/test/data/relation_getlinkedcommits.yaml new file mode 100644 index 0000000000..00eb98894b --- /dev/null +++ b/test/data/relation_getlinkedcommits.yaml @@ -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: "[]" diff --git a/test/data/repohistory_getlinkedcommits.yaml b/test/data/repohistory_getlinkedcommits.yaml new file mode 100644 index 0000000000..47ef328488 --- /dev/null +++ b/test/data/repohistory_getlinkedcommits.yaml @@ -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"