From ceac6e14ed4793e143f9028eea35db1c8c552ba1 Mon Sep 17 00:00:00 2001 From: liugang Date: Sun, 14 Sep 2025 12:01:22 +0800 Subject: [PATCH] + [misc] Add unit tests for executionZen::checkPostForCreate() 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 --- .../test/lib/executionzen.unittest.class.php | 20 +++++++++++ .../execution/test/zen/checkpostforcreate.php | 36 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100755 module/execution/test/zen/checkpostforcreate.php diff --git a/module/execution/test/lib/executionzen.unittest.class.php b/module/execution/test/lib/executionzen.unittest.class.php index e9319a3f02..473a744606 100644 --- a/module/execution/test/lib/executionzen.unittest.class.php +++ b/module/execution/test/lib/executionzen.unittest.class.php @@ -8,6 +8,8 @@ class executionZenTest global $tester; $this->tester = $tester; $this->objectModel = $tester->loadModel('execution'); + $this->objectZen = $tester->loadZen('execution'); + $this->executionZenTest = new ReflectionClass($this->objectZen); } /** @@ -1039,4 +1041,22 @@ class executionZenTest return 0; } } + + /** + * Test checkPostForCreate method. + * + * @access public + * @return bool|array + */ + public function checkPostForCreateTest(): bool|array + { + $method = $this->executionZenTest->getMethod('checkPostForCreate'); + $method->setAccessible(true); + + $result = $method->invoke($this->objectZen); + + if(dao::isError()) return dao::getError(); + + return $result; + } } diff --git a/module/execution/test/zen/checkpostforcreate.php b/module/execution/test/zen/checkpostforcreate.php new file mode 100755 index 0000000000..fe0606a851 --- /dev/null +++ b/module/execution/test/zen/checkpostforcreate.php @@ -0,0 +1,36 @@ +#!/usr/bin/env php +gen(0); + +su('admin'); + +$executionzenTest = new executionZenTest(); + +$_POST = array(); +r($executionzenTest->checkPostForCreateTest()) && p('project') && e('所属项目不能为空。'); +$_POST['project'] = 0; +r($executionzenTest->checkPostForCreateTest()) && p('project') && e('所属项目不能为空。'); +$_POST['project'] = ''; +r($executionzenTest->checkPostForCreateTest()) && p('project') && e('所属项目不能为空。'); +$_POST['project'] = null; +r($executionzenTest->checkPostForCreateTest()) && p('project') && e('所属项目不能为空。'); +$_POST['project'] = false; +r($executionzenTest->checkPostForCreateTest()) && p('project') && e('所属项目不能为空。'); \ No newline at end of file