znt/module/build/test/zen/buildbuildforcreate.php

134 lines
3.8 KiB
PHP
Executable file

#!/usr/bin/env php
<?php
/**
title=测试 buildZen::buildBuildForCreate();
timeout=0
cid=15518
- 执行buildTest模块的buildBuildForCreateTest方法
- 属性name @Build 1.0
- 属性builder @admin
- 执行buildTest模块的buildBuildForCreateTest方法
- 属性name @Build 2.0
- 属性execution @0
- 执行buildTest模块的buildBuildForCreateTest方法 属性name @Build 3.0
- 执行buildTest模块的buildBuildForCreateTest方法 属性createdBy @admin
- 执行buildTest模块的buildBuildForCreateTest方法 属性branch @1,2
- 执行buildTest模块的buildBuildForCreateTest方法 属性builds @1,2,3
- 执行buildTest模块的buildBuildForCreateTest方法 属性product @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/zen.class.php';
zenData('product')->gen(5);
zenData('project')->gen(5);
zenData('build')->gen(0);
zenData('system')->gen(5);
zenData('user')->gen(5);
global $tester;
$tester->app->user = new stdclass();
$tester->app->user->account = 'admin';
$tester->app->tab = 'project';
su('admin');
$buildTest = new buildZenTest();
// 测试步骤1: 正常创建版本,使用已有系统
$_POST = array(
'product' => '1',
'execution' => '1',
'name' => 'Build 1.0',
'builder' => 'admin',
'date' => '2024-01-01',
'system' => '1',
'isIntegrated' => 'no',
'newSystem' => ''
);
r($buildTest->buildBuildForCreateTest()) && p('name,builder') && e('Build 1.0,admin');
// 测试步骤2: isIntegrated为yes时,execution字段非必填
$_POST = array(
'product' => '1',
'execution' => '',
'name' => 'Build 2.0',
'builder' => 'admin',
'date' => '2024-01-02',
'system' => '1',
'isIntegrated' => 'yes',
'newSystem' => ''
);
r($buildTest->buildBuildForCreateTest()) && p('name,execution') && e('Build 2.0,0');
// 测试步骤3: newSystem时,创建新系统并返回systemID
$_POST = array(
'product' => '1',
'execution' => '1',
'name' => 'Build 3.0',
'builder' => 'admin',
'date' => '2024-01-03',
'system' => '',
'systemName' => '新建系统',
'isIntegrated' => 'no',
'newSystem' => '1'
);
r($buildTest->buildBuildForCreateTest()) && p('name') && e('Build 3.0');
// 测试步骤4: 测试createdBy默认值设置
$_POST = array(
'product' => '1',
'execution' => '1',
'name' => 'Build 4.0',
'builder' => 'admin',
'date' => '2024-01-04',
'system' => '1',
'isIntegrated' => 'no',
'newSystem' => ''
);
r($buildTest->buildBuildForCreateTest()) && p('createdBy') && e('admin');
// 测试步骤5: 测试branch字段为数组时的join过滤
$_POST = array(
'product' => '1',
'execution' => '1',
'name' => 'Build 5.0',
'builder' => 'admin',
'date' => '2024-01-05',
'system' => '1',
'branch' => array('1', '2'),
'isIntegrated' => 'no',
'newSystem' => ''
);
r($buildTest->buildBuildForCreateTest()) && p('branch', '|') && e('1,2');
// 测试步骤6: 测试builds字段为数组时的join过滤
$_POST = array(
'product' => '1',
'execution' => '1',
'name' => 'Build 6.0',
'builder' => 'admin',
'date' => '2024-01-06',
'system' => '1',
'builds' => array('1', '2', '3'),
'isIntegrated' => 'no',
'newSystem' => ''
);
r($buildTest->buildBuildForCreateTest()) && p('builds', '|') && e('1,2,3');
// 测试步骤7: 测试product字段正确设置
$_POST = array(
'product' => '1',
'execution' => '1',
'name' => 'Build 7.0',
'builder' => 'admin',
'date' => '2024-01-07',
'system' => '1',
'isIntegrated' => 'no',
'newSystem' => ''
);
r($buildTest->buildBuildForCreateTest()) && p('product') && e('1');