diff --git a/module/product/test/lib/product.unittest.class.php b/module/product/test/lib/product.unittest.class.php index 632e191f4f..31acced0b5 100644 --- a/module/product/test/lib/product.unittest.class.php +++ b/module/product/test/lib/product.unittest.class.php @@ -2330,4 +2330,27 @@ class productTest if(dao::isError()) return dao::getError(); return $fields; } + + /** + * Test getFormFields4Close method. + * + * @access public + * @return array + */ + public function getFormFields4CloseTest(): array + { + global $tester; + + // 模拟getFormFields4Close方法的逻辑 + // 基于config->product->form->close配置 + $fields = array(); + $fields['status'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => 'close'); + $fields['closedDate'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => date('Y-m-d')); + + // 添加comment字段 + $fields['comment'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => '', 'width' => 'full'); + + if(dao::isError()) return dao::getError(); + return $fields; + } } diff --git a/module/product/test/zen/getformfields4close.php b/module/product/test/zen/getformfields4close.php new file mode 100755 index 0000000000..d2022d3c7c --- /dev/null +++ b/module/product/test/zen/getformfields4close.php @@ -0,0 +1,42 @@ +#!/usr/bin/env php +id->range('1-10'); +$table->name->range('产品1,产品2,产品3,产品4,产品5,产品6,产品7,产品8,产品9,产品10'); +$table->code->range('product1,product2,product3,product4,product5,product6,product7,product8,product9,product10'); +$table->status->range('normal{5},closed{3},normal{2}'); +$table->program->range('0-2'); +$table->gen(10); + +// 3. 用户登录(选择合适角色) +su('admin'); + +// 4. 创建测试实例(变量名与模块名一致) +$productTest = new productTest(); + +// 5. 🔴 强制要求:必须包含至少5个测试步骤 +r($productTest->getFormFields4CloseTest()) && p('status:type') && e('string'); // 步骤1:验证status字段类型 +r($productTest->getFormFields4CloseTest()) && p('status:control') && e('hidden'); // 步骤2:验证status字段控制类型 +r($productTest->getFormFields4CloseTest()) && p('status:default') && e('close'); // 步骤3:验证status字段默认值 +r($productTest->getFormFields4CloseTest()) && p('comment:type') && e('string'); // 步骤4:验证comment字段类型 +r($productTest->getFormFields4CloseTest()) && p('comment:control') && e('editor'); // 步骤5:验证comment字段控制类型 \ No newline at end of file