From dc28848c248f6cbec3205e6008ef9946912e7239 Mon Sep 17 00:00:00 2001 From: liugang Date: Thu, 6 Nov 2025 13:44:29 +0800 Subject: [PATCH] + [misc] Add unit tests for convertTao::createWorkflowStatus() 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 --- .../convert/test/tao/createworkflowstatus.php | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 module/convert/test/tao/createworkflowstatus.php diff --git a/module/convert/test/tao/createworkflowstatus.php b/module/convert/test/tao/createworkflowstatus.php new file mode 100755 index 0000000000..a55a7d8b55 --- /dev/null +++ b/module/convert/test/tao/createworkflowstatus.php @@ -0,0 +1,69 @@ +#!/usr/bin/env php +gen(0); + +// 3. 用户登录 +su('admin'); + +// 4. 创建测试实例 +$convertTest = new convertTest(); + +// 5. 测试步骤 +global $config; +$originalEdition = $config->edition; + +// 步骤1: 测试open版本下返回原始relations +$config->edition = 'open'; +r($convertTest->createWorkflowStatusTest(array())) && p() && e('a:0:{}'); // 步骤1:测试open版本下返回序列化的空数组 + +// 步骤2: 测试企业版无zentaoStatus相关键返回原始relations +$config->edition = 'max'; +r($convertTest->createWorkflowStatusTest(array('otherKey' => 'testValue'))) && p() && e('a:1:{s:8:"otherKey";s:9:"testValue";}'); // 步骤2:测试企业版无zentaoStatus相关键返回原始relations + +// 步骤3: 测试企业版添加测试用例状态(add_case_status) +$config->edition = 'max'; +$relations3 = array( + 'zentaoObject' => array('10001' => 'testcase'), + 'zentaoStatus10001' => array('status1' => 'add_case_status') +); +r($convertTest->createWorkflowStatusTest($relations3)) && p() && e('a:2:{s:12:"zentaoObject";a:1:{i:10001;s:8:"testcase";}s:17:"zentaoStatus10001";a:1:{s:7:"status1";s:7:"status1";}}'); // 步骤3:测试企业版添加测试用例状态(add_case_status) + +// 步骤4: 测试企业版添加工作流状态(add_flow_status) +$config->edition = 'max'; +$relations4 = array( + 'zentaoObject' => array('10002' => 'customflow'), + 'zentaoStatus10002' => array('status2' => 'add_flow_status') +); +r($convertTest->createWorkflowStatusTest($relations4)) && p() && e('a:2:{s:12:"zentaoObject";a:1:{i:10002;s:10:"customflow";}s:17:"zentaoStatus10002";a:1:{s:7:"status2";s:7:"status2";}}'); // 步骤4:测试企业版添加工作流状态(add_flow_status) + +// 步骤5: 测试企业版混合处理多个状态 +$config->edition = 'max'; +$relations5 = array( + 'zentaoObject' => array('10003' => 'testcase', '10004' => 'customflow'), + 'zentaoStatus10003' => array('status3' => 'add_case_status'), + 'zentaoStatus10004' => array('status4' => 'add_flow_status') +); +r($convertTest->createWorkflowStatusTest($relations5)) && p() && e('a:3:{s:12:"zentaoObject";a:2:{i:10003;s:8:"testcase";i:10004;s:10:"customflow";}s:17:"zentaoStatus10003";a:1:{s:7:"status3";s:7:"status3";}s:17:"zentaoStatus10004";a:1:{s:7:"status4";s:7:"status4";}}'); // 步骤5:测试企业版混合处理多个状态 + +// 恢复版本设置 +$config->edition = $originalEdition; \ No newline at end of file