From d120a0ace2fdf782dfb4390f39a412f324594863 Mon Sep 17 00:00:00 2001 From: liugang Date: Thu, 11 Sep 2025 15:13:18 +0800 Subject: [PATCH] + [misc] Add unit tests for convertTao::buildCustomFieldOptionData() 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/convert.unittest.class.php | 26 +++++++++++++++ .../test/tao/buildcustomfieldoptiondata.php | 33 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100755 module/convert/test/tao/buildcustomfieldoptiondata.php diff --git a/module/convert/test/lib/convert.unittest.class.php b/module/convert/test/lib/convert.unittest.class.php index d2bc87240d..88a0f00a23 100644 --- a/module/convert/test/lib/convert.unittest.class.php +++ b/module/convert/test/lib/convert.unittest.class.php @@ -1816,4 +1816,30 @@ class convertTest return 'error: ' . $e->getMessage(); } } + + /** + * Test buildCustomFieldOptionData method. + * + * @param array $data + * @access public + * @return mixed + */ + public function buildCustomFieldOptionDataTest($data = array()) + { + try { + // 使用反射来访问protected方法 + $reflection = new ReflectionClass($this->objectTao); + $method = $reflection->getMethod('buildCustomFieldOptionData'); + $method->setAccessible(true); + + $result = $method->invoke($this->objectTao, $data); + if(dao::isError()) return dao::getError(); + + return $result; + } catch (Exception $e) { + return 'exception: ' . $e->getMessage(); + } catch (Error $e) { + return 'error: ' . $e->getMessage(); + } + } } diff --git a/module/convert/test/tao/buildcustomfieldoptiondata.php b/module/convert/test/tao/buildcustomfieldoptiondata.php new file mode 100755 index 0000000000..c6badb35e3 --- /dev/null +++ b/module/convert/test/tao/buildcustomfieldoptiondata.php @@ -0,0 +1,33 @@ +#!/usr/bin/env php +buildCustomFieldOptionDataTest(array('id' => '1001', 'customfield' => '1', 'customfieldconfig' => '2', 'value' => 'Option A', 'disabled' => '0'))) && p('id') && e('1001'); // 步骤1:正常自定义字段选项数据转换 - ID +r($convertTest->buildCustomFieldOptionDataTest(array('id' => '1001', 'customfield' => '1', 'customfieldconfig' => '2', 'value' => 'Option A', 'disabled' => '0'))) && p('customfield') && e('1'); // 步骤1:正常自定义字段选项数据转换 - customfield +r($convertTest->buildCustomFieldOptionDataTest(array('id' => '1001', 'customfield' => '1', 'customfieldconfig' => '2', 'value' => 'Option A', 'disabled' => '0'))) && p('customfieldconfig') && e('2'); // 步骤1:正常自定义字段选项数据转换 - customfieldconfig +r($convertTest->buildCustomFieldOptionDataTest(array('id' => '1001', 'customfield' => '1', 'customfieldconfig' => '2', 'value' => 'Option A', 'disabled' => '0'))) && p('customvalue') && e('Option A'); // 步骤1:正常自定义字段选项数据转换 - customvalue +r($convertTest->buildCustomFieldOptionDataTest(array('id' => '1001', 'customfield' => '1', 'customfieldconfig' => '2', 'value' => 'Option A', 'disabled' => '0'))) && p('disabled') && e('0'); // 步骤1:正常自定义字段选项数据转换 - disabled \ No newline at end of file