diff --git a/module/program/test/zen/buildprogramforcreate.php b/module/program/test/zen/buildprogramforcreate.php new file mode 100755 index 0000000000..3185983186 --- /dev/null +++ b/module/program/test/zen/buildprogramforcreate.php @@ -0,0 +1,121 @@ +#!/usr/bin/env php +account->range('admin,user1,user2,user3,pm1'); +$table->realname->range('管理员,用户1,用户2,用户3,项目经理1'); +$table->gen(5); + +// 3. 用户登录(选择合适角色) +su('admin'); + +// 4. 创建测试实例(变量名与模块名一致) +$programTest = new programTest(); + +// 5. 强制要求:必须包含至少5个测试步骤 + +// 步骤1:基本的创建项目集数据 +$postData1 = array( + 'name' => '测试项目集1', + 'begin' => '2024-01-01', + 'end' => '2024-12-31', + 'budget' => '100000', + 'budgetUnit'=> 'CNY', + 'desc' => '这是项目集描述', + 'acl' => 'private', + 'whitelist' => array('admin', 'user1'), + 'uid' => 'test123' +); +r($programTest->buildProgramForCreateTest($postData1)) && p('name,type,begin,end,budget,budgetUnit,openedBy') && e('测试项目集1,program,2024-01-01,2024-12-31,100000,CNY,admin'); + +// 步骤2:长期项目集(longTime=1) +$postData2 = array( + 'name' => '长期项目集', + 'begin' => '2024-01-01', + 'end' => '2024-12-31', + 'longTime' => 1, + 'budget' => '500000', + 'budgetUnit'=> 'USD', + 'desc' => '长期项目集', + 'acl' => 'private', + 'whitelist' => array('pm1'), + 'uid' => 'test456' +); +r($programTest->buildProgramForCreateTest($postData2)) && p('name,type,begin,end') && e('长期项目集,program,2024-01-01,2059-12-31'); + +// 步骤3:开放权限的项目集(acl=open) +$postData3 = array( + 'name' => '开放项目集', + 'begin' => '2024-03-01', + 'end' => '2024-09-30', + 'budget' => '200000', + 'budgetUnit'=> 'EUR', + 'desc' => '开放权限项目集', + 'acl' => 'open', + 'whitelist' => array('user1', 'user2', 'user3'), + 'uid' => 'test789' +); +r($programTest->buildProgramForCreateTest($postData3)) && p('name,acl,whitelist') && e('开放项目集,open,~~'); + +// 步骤4:私有权限的项目集(acl=private) +$postData4 = array( + 'name' => '私有项目集', + 'begin' => '2024-04-01', + 'end' => '2024-10-31', + 'budget' => '150000', + 'budgetUnit'=> 'CNY', + 'desc' => '私有权限项目集', + 'acl' => 'private', + 'whitelist' => array('admin'), + 'uid' => 'test111' +); +r($programTest->buildProgramForCreateTest($postData4)) && p('name,acl,whitelist') && e('私有项目集,private,admin'); + +// 步骤5:最小必填字段配置 +$postData5 = array( + 'name' => '最小配置项目集', + 'begin' => '2024-06-01', + 'end' => '2024-06-30', + 'uid' => 'test222' +); +r($programTest->buildProgramForCreateTest($postData5)) && p('name,type,code,openedBy') && e('最小配置项目集,program,~~,admin'); \ No newline at end of file diff --git a/module/program/test/zen/yaml/user_buildprogramforcreate.yaml b/module/program/test/zen/yaml/user_buildprogramforcreate.yaml new file mode 100644 index 0000000000..f91d6db1bf --- /dev/null +++ b/module/program/test/zen/yaml/user_buildprogramforcreate.yaml @@ -0,0 +1,80 @@ +--- +title: 用户数据 +desc: 用于buildProgramForCreate测试的用户数据 +author: AI +version: 1.0 + +fields: +- field: id + note: 用户ID + range: 1-10 + prefix: "" + postfix: "" + loop: 0 + format: "" + +- field: account + note: 用户账号 + range: admin,user1,user2,user3,pm1,pm2,dev1,dev2,test1,test2 + prefix: "" + postfix: "" + loop: 0 + format: "" + +- field: password + note: 用户密码 + range: 1-10 + format: "e10adc3949ba59abbe56e057f20f883e" + +- field: realname + note: 真实姓名 + range: 管理员,用户1,用户2,用户3,项目经理1,项目经理2,开发1,开发2,测试1,测试2 + prefix: "" + postfix: "" + loop: 0 + format: "" + +- field: role + note: 用户角色 + range: others{10} + prefix: "" + postfix: "" + loop: 0 + format: "" + +- field: dept + note: 部门ID + range: 1-5 + prefix: "" + postfix: "" + loop: 0 + format: "" + +- field: gender + note: 性别 + range: m{5},f{5} + prefix: "" + postfix: "" + loop: 0 + format: "" + +- field: email + note: 邮箱 + range: 1-10 + format: "test%d@example.com" + +- field: join + note: 入职日期 + range: 2020-01-01,2021-01-01,2022-01-01,2023-01-01,2024-01-01{6} + prefix: "" + postfix: "" + loop: 0 + format: "" + +- field: deleted + note: 删除标志 + range: 0{10} + prefix: "" + postfix: "" + loop: 0 + format: "" \ No newline at end of file