* [misc] Enhance unit tests for repoModel::getProductsByRepo() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -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'); // 产品不存在的数据
|
||||
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,已删除)
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user