#!/usr/bin/env php gen(1); zenData('repo')->loadYaml('repo')->gen(1); zenData('mr')->loadYaml('mr')->gen(1); su('admin'); $mrTest = new mrModelTest(); $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:源分支和目标分支相同