diff --git a/module/repo/test/zen/getlinkbugs.php b/module/repo/test/zen/getlinkbugs.php new file mode 100755 index 0000000000..b188c9a22d --- /dev/null +++ b/module/repo/test/zen/getlinkbugs.php @@ -0,0 +1,69 @@ +#!/usr/bin/env php +id->range('1-10'); +$table->name->range('测试仓库{1-10}'); +$table->SCM->range('Git,Subversion'); +$table->gen(5); + +$bugTable = zenData('bug'); +$bugTable->id->range('1-10'); +$bugTable->title->range('测试Bug{1-10}'); +$bugTable->product->range('1-3'); +$bugTable->status->range('active{7},closed{3}'); +$bugTable->gen(10); + +$productTable = zenData('product'); +$productTable->id->range('1-3'); +$productTable->name->range('产品{1-3}'); +$productTable->type->range('normal'); +$productTable->gen(3); + +// 3. 用户登录(选择合适角色) +su('admin'); + +// 4. 创建测试实例(变量名与模块名一致) +$repoTest = new repoZenTest(); + +// 创建分页器对象 +$pager = new stdClass(); +$pager->recPerPage = 10; +$pager->pageID = 1; + +// 创建产品数组 +$product1 = new stdClass(); +$product1->id = 1; +$product1->name = '产品1'; + +$product2 = new stdClass(); +$product2->id = 2; +$product2->name = '产品2'; + +$products = array(1 => $product1, 2 => $product2); + +// 5. 🔴 强制要求:必须包含至少5个测试步骤 +r(count($repoTest->getLinkBugsTest(1, 'abc123', 'bySearch', $products, 'id_desc', $pager, 1))) && p() && e(2); // 步骤1:搜索模式获取active bug +r(count($repoTest->getLinkBugsTest(1, 'abc123', 'normal', array(1 => $product1), 'id_desc', $pager, 0))) && p() && e(1); // 步骤2:单产品模式 +r(count($repoTest->getLinkBugsTest(1, 'abc123', 'normal', $products, 'id_desc', $pager, 0))) && p() && e(2); // 步骤3:多产品模式 +r(count($repoTest->getLinkBugsTest(1, 'abc123', 'normal', array(), 'id_desc', $pager, 0))) && p() && e(0); // 步骤4:空产品列表 +r($repoTest->getLinkBugsTest(1, 'abc123', 'bySearch', $products, 'id_desc', $pager, 1)) && p('0:statusText') && e('激活'); // 步骤5:状态文本验证 \ No newline at end of file