From b134efbcb6f00cc289ad9f0df75e8dd5efb43ecb Mon Sep 17 00:00:00 2001 From: liugang Date: Tue, 23 Sep 2025 06:12:28 +0800 Subject: [PATCH] * [misc] Enhance unit tests for pivotModel::isFiltersAllEmpty() 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/pivot/test/model/isfiltersallempty.php | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/module/pivot/test/model/isfiltersallempty.php b/module/pivot/test/model/isfiltersallempty.php index 95e4969426..b4f6066105 100755 --- a/module/pivot/test/model/isfiltersallempty.php +++ b/module/pivot/test/model/isfiltersallempty.php @@ -23,24 +23,24 @@ $pivotTest = new pivotTest(); // 4. 强制要求:必须包含至少5个测试步骤 -// 步骤1:正常情况 - 所有默认值都为空 +// 步骤1:空数组输入测试 - 空数组应该返回false +r($pivotTest->isFiltersAllEmptyTest(array())) && p() && e('0'); + +// 步骤2:所有默认值为空的过滤器数组 - 应该返回true r($pivotTest->isFiltersAllEmptyTest(array( array('name' => 'filter1', 'default' => ''), array('name' => 'filter2', 'default' => null), array('name' => 'filter3', 'default' => 0) ))) && p() && e('1'); -// 步骤2:边界值 - 包含非空值的过滤器 +// 步骤3:包含非空默认值的过滤器数组 - 应该返回false r($pivotTest->isFiltersAllEmptyTest(array( array('name' => 'filter1', 'default' => ''), array('name' => 'filter2', 'default' => 'value'), array('name' => 'filter3', 'default' => null) ))) && p() && e('0'); -// 步骤3:异常输入 - 空数组 -r($pivotTest->isFiltersAllEmptyTest(array())) && p() && e('0'); - -// 步骤4:权限验证 - 不同类型的空值 +// 步骤4:不同类型空值的过滤器数组 - 所有空值应该返回true r($pivotTest->isFiltersAllEmptyTest(array( array('name' => 'filter1', 'default' => ''), array('name' => 'filter2', 'default' => null), @@ -49,11 +49,28 @@ r($pivotTest->isFiltersAllEmptyTest(array( array('name' => 'filter5', 'default' => array()) ))) && p() && e('1'); -// 步骤5:业务规则 - 混合空值和非空值 +// 步骤5:混合空值和非空值的过滤器数组 - 应该返回false r($pivotTest->isFiltersAllEmptyTest(array( array('name' => 'filter1', 'default' => ''), array('name' => 'filter2', 'default' => null), array('name' => 'filter3', 'default' => 'test'), array('name' => 'filter4', 'default' => 0), array('name' => 'filter5', 'default' => false) +))) && p() && e('0'); + +// 步骤6:缺少default字段的过滤器数组 - array_column会返回null,应该返回true +r($pivotTest->isFiltersAllEmptyTest(array( + array('name' => 'filter1'), + array('name' => 'filter2'), + array('name' => 'filter3') +))) && p() && e('1'); + +// 步骤7:单个过滤器且default为空字符串 - 应该返回true +r($pivotTest->isFiltersAllEmptyTest(array( + array('name' => 'filter1', 'default' => '') +))) && p() && e('1'); + +// 步骤8:单个过滤器且default为非空值 - 应该返回false +r($pivotTest->isFiltersAllEmptyTest(array( + array('name' => 'filter1', 'default' => 'non-empty-value') ))) && p() && e('0'); \ No newline at end of file