From 5942aad1415ec5da0e1239f2ffb547cb0bb51d52 Mon Sep 17 00:00:00 2001 From: liugang Date: Fri, 7 Nov 2025 23:46:01 +0800 Subject: [PATCH] + [misc] Add unit tests for bugZen::responseAfterBatchCreate() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- module/bug/test/lib/zen.class.php | 33 ++++++++++ .../bug/test/zen/responseafterbatchcreate.php | 62 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100755 module/bug/test/zen/responseafterbatchcreate.php diff --git a/module/bug/test/lib/zen.class.php b/module/bug/test/lib/zen.class.php index 6096ede087..facc28c452 100644 --- a/module/bug/test/lib/zen.class.php +++ b/module/bug/test/lib/zen.class.php @@ -797,4 +797,37 @@ class bugZenTest extends baseTest return array(); } } + + /** + * Test responseAfterBatchCreate method. + * + * @param int $productID + * @param string $branch + * @param int $executionID + * @param array $bugIdList + * @param string $message + * @access public + * @return array + */ + public function responseAfterBatchCreateTest(int $productID, string $branch, int $executionID, array $bugIdList, string $message = ''): array + { + try + { + ob_start(); + $result = $this->invokeArgs('responseAfterBatchCreate', [$productID, $branch, $executionID, $bugIdList, $message]); + $output = ob_get_clean(); + if(dao::isError()) return array('error' => dao::getError()); + return array('result' => $result, 'output' => $output); + } + catch(EndResponseException $e) + { + ob_end_clean(); + return array('result' => true, 'response' => $e->getContent()); + } + catch(Throwable $e) + { + ob_end_clean(); + return array('error' => $e->getMessage()); + } + } } diff --git a/module/bug/test/zen/responseafterbatchcreate.php b/module/bug/test/zen/responseafterbatchcreate.php new file mode 100755 index 0000000000..5b4753021c --- /dev/null +++ b/module/bug/test/zen/responseafterbatchcreate.php @@ -0,0 +1,62 @@ +#!/usr/bin/env php +id->range('1-5'); +$product->name->range('产品1,产品2,产品3,产品4,产品5'); +$product->type->range('normal'); +$product->status->range('normal'); +$product->gen(5); + +// 准备execution测试数据 +$execution = zenData('project'); +$execution->id->range('101-103'); +$execution->type->range('sprint'); +$execution->status->range('doing'); +$execution->gen(3); + +su('admin'); + +global $tester; +$bugTest = new bugZenTest(); + +// 测试1:正常批量创建bug,返回成功 +$result1 = $bugTest->responseAfterBatchCreateTest(1, '0', 0, array(1, 2, 3), ''); +r(isset($result1['result']) && $result1['result']) && p() && e('1'); + +// 测试2:测试在modal中批量创建bug(无executionID),返回成功 +$_GET['onlybody'] = 'yes'; +$result2 = $bugTest->responseAfterBatchCreateTest(2, '0', 0, array(4, 5), '批量创建成功'); +r(isset($result2['result']) && $result2['result']) && p() && e('1'); + +// 测试3:测试在modal中批量创建bug(有executionID),返回成功 +$_GET['onlybody'] = 'yes'; +$result3 = $bugTest->responseAfterBatchCreateTest(3, '0', 101, array(6, 7), ''); +r(isset($result3['result']) && $result3['result']) && p() && e('1'); + +// 测试4:测试自定义成功消息,返回成功 +unset($_GET['onlybody']); +$result4 = $bugTest->responseAfterBatchCreateTest(4, '0', 0, array(8, 9), '自定义成功消息'); +r(isset($result4['result']) && $result4['result']) && p() && e('1'); + +// 测试5:测试空bug ID列表,返回成功 +$result5 = $bugTest->responseAfterBatchCreateTest(5, '0', 0, array(), ''); +r(isset($result5['result']) && $result5['result']) && p() && e('1'); \ No newline at end of file