znt/module/release/test/model/delete.php

70 lines
3.7 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 releaseModel::delete();
timeout=0
cid=17985
- 步骤1测试删除无效ID0的发布 @0
- 步骤2测试删除不存在ID的发布 @0
- 步骤3测试删除存在的发布属性deleted @1
- 步骤4测试删除有shadow构建的发布属性deleted @1
- 步骤5测试删除有关联构建的发布属性deleted @1
- 步骤6测试删除另一个有shadow构建的发布属性deleted @1
- 步骤7测试多次删除同一发布幂等性验证属性alreadyDeleted @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 准备测试数据 - 手动插入数据避免system字段问题
global $tester;
$dao = $tester->dao;
// 清理测试数据
$dao->delete()->from(TABLE_RELEASE)->where('id')->between(1, 10)->exec();
$dao->delete()->from(TABLE_BUILD)->where('id')->between(1, 10)->exec();
// 手动插入build数据
$buildData = array(
array('id' => '1', 'project' => '11', 'product' => '1', 'name' => '构建1', 'execution' => '0', 'date' => '2023-01-01', 'deleted' => '0'),
array('id' => '2', 'project' => '12', 'product' => '1', 'name' => '构建2', 'execution' => '0', 'date' => '2023-01-01', 'deleted' => '0'),
array('id' => '3', 'project' => '0', 'product' => '1', 'name' => '构建3', 'execution' => '0', 'date' => '2023-01-02', 'deleted' => '0'),
array('id' => '4', 'project' => '0', 'product' => '1', 'name' => '构建4', 'execution' => '0', 'date' => '2023-01-01', 'deleted' => '0'),
array('id' => '5', 'project' => '0', 'product' => '1', 'name' => '构建5', 'execution' => '101', 'date' => '2023-01-03', 'deleted' => '0')
);
foreach($buildData as $build)
{
$dao->insert(TABLE_BUILD)->data($build)->exec();
}
// 手动插入release数据
$releaseData = array(
array('id' => '1', 'project' => '11', 'product' => '1', 'name' => '发布1', 'build' => '1', 'shadow' => '0', 'status' => 'normal', 'deleted' => '0', 'createdDate' => '2023-01-01 10:00:00'),
array('id' => '2', 'project' => '12', 'product' => '1', 'name' => '发布2', 'build' => '2', 'shadow' => '2', 'status' => 'normal', 'deleted' => '0', 'createdDate' => '2023-01-01 10:00:00'),
array('id' => '3', 'project' => '0', 'product' => '1', 'name' => '发布3', 'build' => '3', 'shadow' => '0', 'status' => 'normal', 'deleted' => '0', 'createdDate' => '2023-01-02 10:00:00'),
array('id' => '4', 'project' => '0', 'product' => '1', 'name' => '发布4', 'build' => '4', 'shadow' => '4', 'status' => 'normal', 'deleted' => '0', 'createdDate' => '2023-01-01 10:00:00'),
array('id' => '5', 'project' => '0', 'product' => '2', 'name' => '发布5', 'build' => '5', 'shadow' => '0', 'status' => 'terminate', 'deleted' => '0', 'createdDate' => '2023-01-03 10:00:00')
);
foreach($releaseData as $release)
{
$dao->insert(TABLE_RELEASE)->data($release)->exec();
}
zenData('user')->gen(5);
su('admin');
$releaseTester = new releaseModelTest();
r($releaseTester->deleteTest(0)) && p() && e('0'); // 步骤1测试删除无效ID0的发布
r($releaseTester->deleteTest(999)) && p() && e('0'); // 步骤2测试删除不存在ID的发布
r($releaseTester->deleteTest(1)) && p('deleted') && e('1'); // 步骤3测试删除存在的发布
r($releaseTester->deleteTest(2)) && p('deleted') && e('1'); // 步骤4测试删除有shadow构建的发布
r($releaseTester->deleteTest(3)) && p('deleted') && e('1'); // 步骤5测试删除有关联构建的发布
r($releaseTester->deleteTest(4)) && p('deleted') && e('1'); // 步骤6测试删除另一个有shadow构建的发布
r($releaseTester->deleteTest(1)) && p('alreadyDeleted') && e('1'); // 步骤7测试多次删除同一发布幂等性验证