Files
EasySoft-ZenTaoPMS/module/mr/test/model/update.php
T
2025-09-25 09:16:24 +08:00

58 lines
2.2 KiB
PHP
Executable File

#!/usr/bin/env php
<?php
/**
title=测试 mrModel::update();
timeout=0
cid=0
- 测试步骤1:正常更新MR数据属性result @success
- 测试步骤2:使用不存在的MRID属性message @此合并请求不存在。
- 测试步骤3:需要CI但jobID为空属性message @『流水线任务』不能为空。
- 测试步骤4:标题为空属性message @『名称』不能为空。
- 测试步骤5:源分支和目标分支相同属性message @源项目分支与目标项目分支不能相同
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/mr.unittest.class.php';
zenData('pipeline')->gen(1);
zenData('repo')->loadYaml('repo')->gen(1);
zenData('mr')->loadYaml('mr')->gen(1);
su('admin');
$mrTest = new mrTest();
$validMR = new stdclass();
$validMR->title = 'Updated test merge request';
$validMR->assignee = 'admin';
$validMR->repoID = 1;
$validMR->needCI = 0;
$validMR->removeSourceBranch = 0;
$validMR->targetBranch = 'master';
$validMR->sourceBranch = 'develop';
$validMR->squash = 0;
$validMR->jobID = 0;
$validMR->description = 'Updated description for test merge';
$validMR->editedBy = 'admin';
$validMR->editedDate = date('Y-m-d H:i:s');
r($mrTest->updateTester(1, $validMR)) && p('result') && e('success'); // 测试步骤1:正常更新MR数据
r($mrTest->updateTester(999, $validMR)) && p('message') && e('此合并请求不存在。'); // 测试步骤2:使用不存在的MRID
$mrWithCI = clone $validMR;
$mrWithCI->needCI = 1;
$mrWithCI->jobID = 0;
r($mrTest->updateTester(1, $mrWithCI)) && p('message') && e('『流水线任务』不能为空。'); // 测试步骤3:需要CI但jobID为空
$mrWithEmptyTitle = clone $validMR;
$mrWithEmptyTitle->title = '';
r($mrTest->updateTester(1, $mrWithEmptyTitle)) && p('message') && e('『名称』不能为空。'); // 测试步骤4:标题为空
$mrWithSameBranch = clone $validMR;
$mrWithSameBranch->sourceBranch = 'master';
$mrWithSameBranch->targetBranch = 'master';
r($mrTest->updateTester(1, $mrWithSameBranch)) && p('message') && e('源项目分支与目标项目分支不能相同'); // 测试步骤5:源分支和目标分支相同