From d11babd81b043d5ce68d241a212178cb0e0715eb Mon Sep 17 00:00:00 2001 From: liugang Date: Tue, 11 Nov 2025 15:57:41 +0800 Subject: [PATCH] + [misc] Add unit tests for searchZen::setOptionFields() 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/search/test/lib/zen.class.php | 15 ++++++ module/search/test/zen/setoptionfields.php | 54 ++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100755 module/search/test/zen/setoptionfields.php diff --git a/module/search/test/lib/zen.class.php b/module/search/test/lib/zen.class.php index 565da6a9ac..ddeb7d1c88 100644 --- a/module/search/test/lib/zen.class.php +++ b/module/search/test/lib/zen.class.php @@ -33,4 +33,19 @@ class searchZenTest extends baseTest if(dao::isError()) return dao::getError(); return $result; } + + /** + * Test setOptionFields method. + * + * @param array $fields + * @param array $fieldParams + * @access public + * @return mixed + */ + public function setOptionFieldsTest($fields, $fieldParams) + { + $result = $this->invokeArgs('setOptionFields', [$fields, $fieldParams]); + if(dao::isError()) return dao::getError(); + return $result; + } } diff --git a/module/search/test/zen/setoptionfields.php b/module/search/test/zen/setoptionfields.php new file mode 100755 index 0000000000..dc4f347aea --- /dev/null +++ b/module/search/test/zen/setoptionfields.php @@ -0,0 +1,54 @@ +#!/usr/bin/env php + 'ID', 'name' => '名称'); +$fieldParams1 = array( + 'id' => array('control' => 'input', 'operator' => 'include'), + 'name' => array('control' => 'input', 'operator' => 'include') +); + +$fields2 = array(); +$fieldParams2 = array(); + +$fields3 = array('title' => '标题'); +$fieldParams3 = array( + 'title' => array('control' => 'input', 'operator' => 'include') +); + +$fields4 = array('status' => '状态'); +$fieldParams4 = array( + 'status' => array('control' => 'select', 'operator' => 'equal', 'values' => array('open' => '激活', 'closed' => '已关闭')) +); + +$fields5 = array('priority' => '优先级', 'type' => '类型'); +$fieldParams5 = array( + 'priority' => array('control' => 'select', 'operator' => 'equal'), + 'type' => array('control' => 'select', 'operator' => 'equal') +); + +r(is_array($searchTest->setOptionFieldsTest($fields1, $fieldParams1))) && p() && e('1'); // 测试步骤1:正常输入两个字段 +r($searchTest->setOptionFieldsTest($fields2, $fieldParams2)) && p() && e('0'); // 测试步骤2:测试空字段输入 +r(is_array($searchTest->setOptionFieldsTest($fields3, $fieldParams3))) && p() && e('1'); // 测试步骤3:测试单个字段输入 +r(is_array($searchTest->setOptionFieldsTest($fields4, $fieldParams4))) && p() && e('1'); // 测试步骤4:测试带values参数的字段 +r(is_array($searchTest->setOptionFieldsTest($fields5, $fieldParams5))) && p() && e('1'); // 测试步骤5:验证不同fieldParams格式 \ No newline at end of file