From 7bf65e69f84176045e6db8aabe0a864da8d1b720 Mon Sep 17 00:00:00 2001 From: liugang Date: Tue, 11 Nov 2025 13:02:22 +0800 Subject: [PATCH] + [misc] Add unit tests for repoZen::buildCreateRepoForm() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- module/repo/test/zen/buildcreaterepoform.php | 39 +++++++++++++++ .../yaml/buildcreaterepoform/pipeline.yaml | 50 +++++++++++++++++++ .../zen/yaml/buildcreaterepoform/product.yaml | 41 +++++++++++++++ .../zen/yaml/buildcreaterepoform/user.yaml | 26 ++++++++++ .../yaml/buildcreaterepoform/usergroup.yaml | 26 ++++++++++ 5 files changed, 182 insertions(+) create mode 100755 module/repo/test/zen/buildcreaterepoform.php create mode 100644 module/repo/test/zen/yaml/buildcreaterepoform/pipeline.yaml create mode 100644 module/repo/test/zen/yaml/buildcreaterepoform/product.yaml create mode 100644 module/repo/test/zen/yaml/buildcreaterepoform/user.yaml create mode 100644 module/repo/test/zen/yaml/buildcreaterepoform/usergroup.yaml diff --git a/module/repo/test/zen/buildcreaterepoform.php b/module/repo/test/zen/buildcreaterepoform.php new file mode 100755 index 0000000000..f9079c0d96 --- /dev/null +++ b/module/repo/test/zen/buildcreaterepoform.php @@ -0,0 +1,39 @@ +#!/usr/bin/env php +loadYaml('buildcreaterepoform/product', false, 2)->gen(10); +zendata('pipeline')->loadYaml('buildcreaterepoform/pipeline', false, 2)->gen(5); +zendata('usergroup')->loadYaml('buildcreaterepoform/usergroup', false, 2)->gen(5); +zendata('user')->loadYaml('buildcreaterepoform/user', false, 2)->gen(10); +zendata('project')->gen(5); +zendata('projectproduct')->gen(10); + +su('admin'); + +global $tester; +$tester->app->tab = 'project'; + +$repoZenTest = new repoZenTest(); + +r($repoZenTest->buildCreateRepoFormTest(1)) && p('objectID') && e('1'); +r($repoZenTest->buildCreateRepoFormTest(2)) && p('objectID') && e('2'); +r($repoZenTest->buildCreateRepoFormTest(3)) && p('objectID') && e('3'); +r($repoZenTest->buildCreateRepoFormTest(1)) && p('title') && e('代码库-创建'); +r($repoZenTest->buildCreateRepoFormTest(5)) && p('objectID') && e('5'); \ No newline at end of file diff --git a/module/repo/test/zen/yaml/buildcreaterepoform/pipeline.yaml b/module/repo/test/zen/yaml/buildcreaterepoform/pipeline.yaml new file mode 100644 index 0000000000..741999d175 --- /dev/null +++ b/module/repo/test/zen/yaml/buildcreaterepoform/pipeline.yaml @@ -0,0 +1,50 @@ +--- +title: Pipeline测试数据for buildCreateRepoForm +desc: 用于测试repoZen::buildCreateRepoForm()方法的pipeline表数据 +author: Claude +version: 1.0 + +fields: +- field: id + note: Pipeline ID + range: 1-5 + format: '' +- field: type + note: Pipeline类型 + range: 'gitlab{2},gitea{2},gogs{1}' +- field: name + note: Pipeline名称 + range: 'GitLab服务器{2},Gitea服务器{2},Gogs服务器{1}' +- field: url + note: 服务器URL + range: 'https://gitlab.example.com{2},https://gitea.example.com{2},https://gogs.example.com{1}' +- field: account + note: 账号 + range: 'admin{3},user{2}' +- field: password + note: 密码 + range: 'password123{3},test123{2}' +- field: token + note: 访问令牌 + range: 'token_gitlab_123{2},token_gitea_456{2},token_gogs_789{1}' +- field: private + note: 私有密钥 + range: '[]{5}' +- field: instanceID + note: 实例ID + range: '0{3},1{2}' +- field: createdBy + note: 创建者 + range: 'admin{4},user{1}' +- field: createdDate + note: 创建时间 + range: '2023-01-01 00:00:00{2},2023-06-01 00:00:00{2},2023-12-01 00:00:00{1}' +- field: editedBy + note: 编辑者 + range: 'admin{3},user{1},[]{1}' +- field: editedDate + note: 编辑时间 + range: '2023-01-01 00:00:00{2},2023-06-01 00:00:00{2},2023-12-01 00:00:00{1}' +- field: deleted + note: 删除标记 + range: '0{5}' diff --git a/module/repo/test/zen/yaml/buildcreaterepoform/product.yaml b/module/repo/test/zen/yaml/buildcreaterepoform/product.yaml new file mode 100644 index 0000000000..14b4078a4f --- /dev/null +++ b/module/repo/test/zen/yaml/buildcreaterepoform/product.yaml @@ -0,0 +1,41 @@ +--- +title: 产品测试数据for buildCreateRepoForm +desc: 用于测试repoZen::buildCreateRepoForm()方法的产品表数据 +author: Claude +version: 1.0 + +fields: +- field: id + note: 产品ID + range: 1-10 + format: '' +- field: name + note: 产品名称 + range: '产品{10}' +- field: code + note: 产品代号 + range: 'prod{10}' +- field: type + note: 产品类型 + range: 'normal{5},branch{3},platform{2}' +- field: status + note: 产品状态 + range: 'normal{8},closed{2}' +- field: line + note: 产品线 + range: '0{7},1{2},2{1}' +- field: order + note: 排序 + range: 1-10 +- field: deleted + note: 删除标记 + range: '0{9},1{1}' +- field: createdBy + note: 创建者 + range: 'admin{7},user{3}' +- field: createdDate + note: 创建时间 + range: '2023-01-01 00:00:00{4},2023-06-01 00:00:00{3},2023-12-01 00:00:00{3}' +- field: createdVersion + note: 创建版本 + range: '1.0{10}' diff --git a/module/repo/test/zen/yaml/buildcreaterepoform/user.yaml b/module/repo/test/zen/yaml/buildcreaterepoform/user.yaml new file mode 100644 index 0000000000..d387c1c81c --- /dev/null +++ b/module/repo/test/zen/yaml/buildcreaterepoform/user.yaml @@ -0,0 +1,26 @@ +--- +title: 用户测试数据for buildCreateRepoForm +desc: 用于测试repoZen::buildCreateRepoForm()方法的用户表数据 +author: Claude +version: 1.0 + +fields: +- field: id + note: 用户ID + range: 1-10 + format: '' +- field: account + note: 用户账号 + range: 'admin,user1,user2,user3,user4,user5,user6,user7,user8,user9' +- field: realname + note: 真实姓名 + range: '管理员,用户1,用户2,用户3,用户4,用户5,用户6,用户7,用户8,用户9' +- field: role + note: 角色 + range: 'admin,dev{4},qa{3},po{1},pm{1}' +- field: deleted + note: 删除标记 + range: '0{9},1{1}' +- field: locked + note: 锁定时间 + range: '0000-00-00 00:00:00{10}' diff --git a/module/repo/test/zen/yaml/buildcreaterepoform/usergroup.yaml b/module/repo/test/zen/yaml/buildcreaterepoform/usergroup.yaml new file mode 100644 index 0000000000..470831581a --- /dev/null +++ b/module/repo/test/zen/yaml/buildcreaterepoform/usergroup.yaml @@ -0,0 +1,26 @@ +--- +title: 用户组测试数据for buildCreateRepoForm +desc: 用于测试repoZen::buildCreateRepoForm()方法的用户组表数据 +author: Claude +version: 1.0 + +fields: +- field: id + note: 用户组ID + range: 1-5 + format: '' +- field: name + note: 用户组名称 + range: '管理员,开发,测试,产品,项目经理' +- field: role + note: 角色 + range: 'admin,dev,qa,po,pm' +- field: desc + note: 描述 + range: '管理员组,开发组,测试组,产品组,项目经理组' +- field: project + note: 项目视图 + range: '1{5}' +- field: deleted + note: 删除标记 + range: '0{5}'