diff --git a/module/repo/test/model/getproductsbyrepo.php b/module/repo/test/model/getproductsbyrepo.php index d905867b9f..f3bca66f94 100755 --- a/module/repo/test/model/getproductsbyrepo.php +++ b/module/repo/test/model/getproductsbyrepo.php @@ -3,26 +3,46 @@ /** -title=测试 repoModel->getProductsByRepo(); +title=测试 repoModel::getProductsByRepo(); timeout=0 -cid=1 +cid=0 -- 空的数据 @0 -- 不存在的数据 @0 -- 存在的数据属性1 @正常产品1 -- 产品不存在的数据 @0 +- 步骤1:无效代码库ID(0) @0 +- 步骤2:不存在的代码库ID(99) @0 +- 步骤3:单个产品关联(product=1)属性1 @正常产品1 +- 步骤4:多个产品关联(product=2)属性2 @正常产品2 +- 步骤5:过滤已删除产品(product=4)属性4 @正常产品4 +- 步骤6:产品字段为空(product='') @0 +- 步骤7:关联不存在产品(product=10) @0 +- 步骤8:关联已删除产品(product=9,已删除) @0 */ include dirname(__FILE__, 5) . '/test/lib/init.php'; include dirname(__FILE__, 2) . '/lib/repo.unittest.class.php'; -zenData('product')->gen(3); -zenData('repo')->loadYaml('repo')->gen(5); +// 生成产品数据 +$productTable = zenData('product'); +$productTable->id->range('1-12'); +$productTable->name->range('正常产品1,正常产品2,正常产品3,正常产品4,正常产品5,正常产品6,正常产品7,正常产品8,已删除产品1,已删除产品2,不存在产品1,不存在产品2'); +$productTable->code->range('product1,product2,product3,product4,product5,product6,product7,product8,deleted1,deleted2,notexist1,notexist2'); +$productTable->deleted->range('0,0,0,0,0,0,0,0,1,1,0,0'); +$productTable->gen(12); + +// 生成代码库数据 +$repoTable = zenData('repo'); +$repoTable->id->range('1-13'); +$repoTable->product->range('1,2,3,1,2,2,3,4,5,[],10,99,9'); +$repoTable->name->range('singleProductRepo,multiProductRepo1,multiProductRepo2,testRepo1,testRepo2,mixedRepo1,mixedRepo2,withDeletedProductRepo,validRepo,emptyProductRepo,invalidProductRepo1,invalidProductRepo2,deletedProductRepo'); +$repoTable->gen(13); su('admin'); $repo = new repoTest(); -r($repo->getProductsByRepoTest(0)) && p() && e('0'); // 空的数据 -r($repo->getProductsByRepoTest(6)) && p() && e('0'); // 不存在的数据 -r($repo->getProductsByRepoTest(1)) && p('1') && e('正常产品1'); // 存在的数据 -r($repo->getProductsByRepoTest(4)) && p() && e('0'); // 产品不存在的数据 \ No newline at end of file +r($repo->getProductsByRepoTest(0)) && p() && e('0'); // 步骤1:无效代码库ID(0) +r($repo->getProductsByRepoTest(99)) && p() && e('0'); // 步骤2:不存在的代码库ID(99) +r($repo->getProductsByRepoTest(1)) && p('1') && e('正常产品1'); // 步骤3:单个产品关联(product=1) +r($repo->getProductsByRepoTest(5)) && p('2') && e('正常产品2'); // 步骤4:多个产品关联(product=2) +r($repo->getProductsByRepoTest(8)) && p('4') && e('正常产品4'); // 步骤5:过滤已删除产品(product=4) +r($repo->getProductsByRepoTest(10)) && p() && e('0'); // 步骤6:产品字段为空(product='') +r($repo->getProductsByRepoTest(11)) && p() && e('0'); // 步骤7:关联不存在产品(product=10) +r($repo->getProductsByRepoTest(13)) && p() && e('0'); // 步骤8:关联已删除产品(product=9,已删除) \ No newline at end of file diff --git a/module/repo/test/model/yaml/product_getproductsbyrepo.yaml b/module/repo/test/model/yaml/product_getproductsbyrepo.yaml new file mode 100644 index 0000000000..e7c4f842c1 --- /dev/null +++ b/module/repo/test/model/yaml/product_getproductsbyrepo.yaml @@ -0,0 +1,63 @@ +title: product数据 for getProductsByRepo测试 +desc: 为getProductsByRepo方法测试提供测试数据 +author: Claude +version: "1.0" +fields: +- field: id + range: 1-12 +- field: program + range: 0,0,0,0,0,1,1,1,1,1,2,2 +- field: name + fields: + - field: name1 + range: "[]" + - field: name2 + range: 正常产品1,正常产品2,正常产品3,正常产品4,正常产品5,正常产品6,正常产品7,正常产品8,已删除产品1,已删除产品2,不存在产品1,不存在产品2 + - field: name3 + range: "[]" +- field: code + fields: + - field: code1 + range: code + - field: code2 + range: 1,2,3,4,5,6,7,8,9,10,11,12 +- field: shadow + range: 0 +- field: line + range: 0 +- field: type + range: normal,normal,normal,normal,normal,branch,branch,platform,normal,normal,normal,normal +- field: status + range: normal,normal,normal,normal,normal,normal,normal,normal,closed,closed,normal,normal +- field: subStatus + range: "[]" +- field: PMT + range: "[]" +- field: desc + range: "[]" +- field: PO + range: admin +- field: QD + range: admin +- field: RD + range: admin +- field: feedback + range: admin +- field: acl + range: open +- field: whitelist + range: "[]" +- field: reviewer + range: "[]" +- field: createdBy + range: admin +- field: createdDate + range: "`2024-01-01 00:00:00`" +- field: createdVersion + range: "[]" +- field: order + range: 1-12 +- field: vision + range: rnd +- field: deleted + range: 0,0,0,0,0,0,0,0,1,1,0,0 \ No newline at end of file diff --git a/module/repo/test/model/yaml/repo_getproductsbyrepo.yaml b/module/repo/test/model/yaml/repo_getproductsbyrepo.yaml new file mode 100644 index 0000000000..006d18ea54 --- /dev/null +++ b/module/repo/test/model/yaml/repo_getproductsbyrepo.yaml @@ -0,0 +1,53 @@ +title: repo数据 for getProductsByRepo测试 +desc: 为getProductsByRepo方法测试提供测试数据 +author: Claude +version: "1.0" +fields: +- field: id + range: 1-12 +- field: product + range: "1,2,3,1,2,2,3,4,5,[],10,99" +- field: projects + range: 1-12 +- field: name + range: singleProductRepo,multiProductRepo1,multiProductRepo2,testRepo1,testRepo2,mixedRepo1,mixedRepo2,withDeletedProductRepo,validRepo,emptyProductRepo,invalidProductRepo1,invalidProductRepo2 +- field: path + range: "/repo/single,/repo/multi1,/repo/multi2,/repo/test1,/repo/test2,/repo/mixed1,/repo/mixed2,/repo/deleted,/repo/valid,/repo/empty,/repo/invalid1,/repo/invalid2" +- field: SCM + range: Git,Git,Git,Gitlab,Gitlab,Gitea,Gitea,Git,Git,Git,Subversion,Subversion +- field: prefix + range: "[]" +- field: encoding + range: utf-8 +- field: client + range: git,git,git,git,git,git,git,git,git,git,svn,svn +- field: serviceHost + range: 0 +- field: serviceProject + range: "[]" +- field: commits + range: 0 +- field: account + range: "[]" +- field: password + range: "[]" +- field: encrypt + range: plain +- field: acl + range: "[]" +- field: synced + range: 1 +- field: lastSync + range: "`2024-01-01 00:00:00`" +- field: lastCommit + range: "`2024-01-01 00:00:00`" +- field: desc + range: "[]" +- field: extra + range: 0 +- field: preMerge + range: 0 +- field: job + range: 0 +- field: deleted + range: 0,0,0,0,0,0,0,0,0,0,0,0 \ No newline at end of file