+ [misc] Add unit tests for buildZen::assignEditData() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Executable
+154
@@ -0,0 +1,154 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=测试 buildZen::assignEditData();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 执行buildTest模块的assignEditDataTest方法,参数是$build1 第products条的1属性 @Product1
|
||||
- 执行buildTest模块的assignEditDataTest方法,参数是$build2 属性executionType @0
|
||||
- 执行buildTest模块的assignEditDataTest方法,参数是$build3 第products条的4属性 @ProductBranch1
|
||||
- 执行buildTest模块的assignEditDataTest方法,参数是$build4 第product条的name属性 @Product6
|
||||
- 执行buildTest模块的assignEditDataTest方法,参数是$build5 属性executionType @0
|
||||
|
||||
*/
|
||||
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/zen.class.php';
|
||||
|
||||
$product = zenData('product');
|
||||
$product->id->range('1-10');
|
||||
$product->name->range('Product1,Product2,Product3,ProductBranch1,ProductBranch2,Product6{5}');
|
||||
$product->type->range('normal{6},branch{4}');
|
||||
$product->status->range('normal{10}');
|
||||
$product->acl->range('open{6},private{2},custom{2}');
|
||||
$product->deleted->range('0');
|
||||
$product->gen(10);
|
||||
|
||||
$project = zenData('project');
|
||||
$project->id->range('1-10');
|
||||
$project->name->range('Project{10}');
|
||||
$project->type->range('project{10}');
|
||||
$project->status->range('wait{2},doing{5},done{3}');
|
||||
$project->model->range('scrum{5},waterfall{3},kanban{2}');
|
||||
$project->hasProduct->range('1{8},0{2}');
|
||||
$project->parent->range('0');
|
||||
$project->path->range('`,1,`,`,2,`,`,3,`,`,4,`,`,5,`,`,6,`,`,7,`,`,8,`,`,9,`,`,10,`');
|
||||
$project->grade->range('1');
|
||||
$project->deleted->range('0');
|
||||
$project->gen(10);
|
||||
|
||||
$branch = zenData('branch');
|
||||
$branch->id->range('1-10');
|
||||
$branch->product->range('1-5');
|
||||
$branch->name->range('主干,分支一,分支二,分支三,分支四{6}');
|
||||
$branch->status->range('active{8},closed{2}');
|
||||
$branch->deleted->range('0');
|
||||
$branch->gen(10);
|
||||
|
||||
$execution = zenData('project');
|
||||
$execution->id->range('11-20');
|
||||
$execution->project->range('1-3');
|
||||
$execution->name->range('Sprint1,Sprint2,Sprint3,迭代1,迭代2{6}');
|
||||
$execution->type->range('sprint{5},stage{5}');
|
||||
$execution->status->range('wait{2},doing{5},done{3}');
|
||||
$execution->parent->range('1-3');
|
||||
$execution->path->range('`,1,11,`,`,1,12,`,`,2,13,`,`,2,14,`,`,3,15,`,`,3,16,`,`,1,17,`,`,2,18,`,`,3,19,`,`,1,20,`');
|
||||
$execution->grade->range('2');
|
||||
$execution->deleted->range('0');
|
||||
$execution->gen(10);
|
||||
|
||||
$build = zenData('build');
|
||||
$build->id->range('1-10');
|
||||
$build->project->range('1-3');
|
||||
$build->product->range('1-5');
|
||||
$build->branch->range('0,1,2,3');
|
||||
$build->execution->range('0,1,2,3');
|
||||
$build->builds->range('[]');
|
||||
$build->system->range('0-2');
|
||||
$build->name->range('Build{10}');
|
||||
$build->builder->range('admin,user1,user2');
|
||||
$build->deleted->range('0');
|
||||
$build->gen(10);
|
||||
|
||||
$projectProduct = zenData('projectproduct');
|
||||
$projectProduct->project->range('1-20');
|
||||
$projectProduct->product->range('1-5');
|
||||
$projectProduct->gen(20);
|
||||
|
||||
$user = zenData('user');
|
||||
$user->id->range('1-5');
|
||||
$user->account->range('admin,user1,user2,user3,user4');
|
||||
$user->realname->range('管理员,用户1,用户2,用户3,用户4');
|
||||
$user->deleted->range('0');
|
||||
$user->gen(5);
|
||||
|
||||
global $tester;
|
||||
$tester->app->rawModule = 'build';
|
||||
$tester->app->rawMethod = 'edit';
|
||||
$tester->app->tab = 'project';
|
||||
$tester->app->moduleName = 'build';
|
||||
$tester->app->methodName = 'edit';
|
||||
$_SESSION['project'] = 1;
|
||||
|
||||
su('admin');
|
||||
|
||||
$buildTest = new buildZenTest();
|
||||
|
||||
$build1 = new stdclass();
|
||||
$build1->id = 1;
|
||||
$build1->project = 1;
|
||||
$build1->product = 1;
|
||||
$build1->branch = '0';
|
||||
$build1->execution = 11;
|
||||
$build1->builds = '';
|
||||
$build1->system = 0;
|
||||
$build1->name = 'Build1';
|
||||
|
||||
$build2 = new stdclass();
|
||||
$build2->id = 2;
|
||||
$build2->project = 1;
|
||||
$build2->product = 2;
|
||||
$build2->branch = '0';
|
||||
$build2->execution = 0;
|
||||
$build2->builds = '1';
|
||||
$build2->system = 1;
|
||||
$build2->name = 'Build2';
|
||||
|
||||
$build3 = new stdclass();
|
||||
$build3->id = 3;
|
||||
$build3->project = 2;
|
||||
$build3->product = 4;
|
||||
$build3->branch = '1,2';
|
||||
$build3->execution = 13;
|
||||
$build3->builds = '';
|
||||
$build3->system = 0;
|
||||
$build3->name = 'Build3';
|
||||
|
||||
$build4 = new stdclass();
|
||||
$build4->id = 4;
|
||||
$build4->project = 1;
|
||||
$build4->product = 6;
|
||||
$build4->branch = '0';
|
||||
$build4->execution = 11;
|
||||
$build4->builds = '';
|
||||
$build4->system = 0;
|
||||
$build4->name = 'Build4';
|
||||
|
||||
$build5 = new stdclass();
|
||||
$build5->id = 5;
|
||||
$build5->project = 1;
|
||||
$build5->product = 1;
|
||||
$build5->branch = '0';
|
||||
$build5->execution = 21;
|
||||
$build5->builds = '';
|
||||
$build5->system = 0;
|
||||
$build5->name = 'Build5';
|
||||
|
||||
r($buildTest->assignEditDataTest($build1)) && p('products:1') && e('Product1');
|
||||
r($buildTest->assignEditDataTest($build2)) && p('executionType') && e('0');
|
||||
r($buildTest->assignEditDataTest($build3)) && p('products:4') && e('ProductBranch1');
|
||||
r($buildTest->assignEditDataTest($build4)) && p('product:name') && e('Product6');
|
||||
r($buildTest->assignEditDataTest($build5)) && p('executionType') && e('0');
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: 分支数据for assignEditData测试
|
||||
desc: 为assignEditData方法提供分支测试数据
|
||||
author: system
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: 分支ID
|
||||
range: 1-10
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: product
|
||||
note: 产品ID
|
||||
range: 1-5
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: name
|
||||
note: 分支名称
|
||||
range: '主干,分支一,分支二,分支三,分支四{6}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: status
|
||||
note: 分支状态
|
||||
range: 'active{8},closed{2}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: deleted
|
||||
note: 是否删除
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
@@ -0,0 +1,94 @@
|
||||
---
|
||||
title: 版本编辑数据分配测试数据
|
||||
desc: 为assignEditData方法提供版本测试数据
|
||||
author: system
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: 版本ID
|
||||
range: 1-10
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: project
|
||||
note: 项目ID
|
||||
range: 1-3
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: product
|
||||
note: 产品ID
|
||||
range: 1-5
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: branch
|
||||
note: 分支ID
|
||||
range: '0,1,2,3'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: execution
|
||||
note: 执行ID
|
||||
range: '0,1,2,3'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: builds
|
||||
note: 关联版本
|
||||
range: '[]'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: system
|
||||
note: 系统ID
|
||||
range: 0-2
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: name
|
||||
note: 版本名称
|
||||
range: 'Build{10}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: date
|
||||
note: 创建日期
|
||||
range: '2023-01-01:2023-12-31'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: "YYYY-MM-DD"
|
||||
|
||||
- field: builder
|
||||
note: 构建者
|
||||
range: 'admin,user1,user2'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: deleted
|
||||
note: 是否删除
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: 执行数据for assignEditData测试
|
||||
desc: 为assignEditData方法提供执行测试数据
|
||||
author: system
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: 执行ID
|
||||
range: 1-10
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: project
|
||||
note: 项目ID
|
||||
range: 1-3
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: name
|
||||
note: 执行名称
|
||||
range: 'Sprint{5},迭代{5}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: type
|
||||
note: 执行类型
|
||||
range: 'sprint{5},stage{5}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: status
|
||||
note: 执行状态
|
||||
range: 'wait{2},doing{5},done{3}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: deleted
|
||||
note: 是否删除
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
title: 产品数据for assignEditData测试
|
||||
desc: 为assignEditData方法提供产品测试数据
|
||||
author: system
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: 产品ID
|
||||
range: 1-10
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: name
|
||||
note: 产品名称
|
||||
range: 'Product1,Product2,Product3,ProductBranch1,ProductBranch2,Product6{5}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: type
|
||||
note: 产品类型
|
||||
range: 'normal{6},branch{4}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: status
|
||||
note: 产品状态
|
||||
range: 'normal{10}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: acl
|
||||
note: 访问控制
|
||||
range: 'open{6},private{2},custom{2}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: createdBy
|
||||
note: 创建者
|
||||
range: 'admin,user1,user2'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: deleted
|
||||
note: 是否删除
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
title: 项目数据for assignEditData测试
|
||||
desc: 为assignEditData方法提供项目测试数据
|
||||
author: system
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: 项目ID
|
||||
range: 1-10
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: name
|
||||
note: 项目名称
|
||||
range: 'Project{10}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: type
|
||||
note: 项目类型
|
||||
range: 'project{10}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: status
|
||||
note: 项目状态
|
||||
range: 'wait{2},doing{5},done{3}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: model
|
||||
note: 项目模型
|
||||
range: 'scrum{5},waterfall{3},kanban{2}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: hasProduct
|
||||
note: 是否关联产品
|
||||
range: '1{8},0{2}'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
|
||||
- field: deleted
|
||||
note: 是否删除
|
||||
range: '0'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
Reference in New Issue
Block a user