Files
EasySoft-ZenTaoPMS/module/host/test/model/gettreemodules.php
T
2025-09-15 15:06:16 +08:00

51 lines
2.5 KiB
PHP
Executable File

#!/usr/bin/env php
<?php
/**
title=测试 hostModel::getTreeModules();
timeout=0
cid=0
- 步骤1:获取根模块树结构,期望第4个元素名称为模块4第3条的name属性 @模块4
- 步骤2:获取模块ID为1的子模块,期望第1个元素名称为子模块1第0条的name属性 @子模块1
- 步骤3:获取包含主机数据的模块树,期望第1个模块名称为模块1第0条的name属性 @模块1
- 步骤4:获取不存在模块ID的树结构,期望返回数组长度为0 @0
- 步骤5:获取模块ID为2的子模块,期望第1个元素名称为子模块3第0条的name属性 @子模块3
*/
// 1. 导入依赖(路径固定,不可修改)
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/host.unittest.class.php';
// 2. zendata数据准备(根据需要配置)
$moduleTable = zenData('module');
$moduleTable->id->range('1-10');
$moduleTable->name->range('模块1,模块2,子模块1,子模块2,子模块3,模块3,子模块4,子模块5,子模块6,模块4');
$moduleTable->parent->range('0,0,1,1,2,0,6,6,3,0');
$moduleTable->type->range('host{10}');
$moduleTable->order->range('1-10');
$moduleTable->deleted->range('0{10}');
$moduleTable->gen(10);
$hostTable = zenData('host');
$hostTable->id->range('1-5');
$hostTable->name->range('主机1,主机2,主机3,主机4,主机5');
$hostTable->group->range('1,2,3,1,2');
$hostTable->type->range('normal{5}');
$hostTable->deleted->range('0{5}');
$hostTable->gen(5);
// 3. 用户登录(选择合适角色)
su('admin');
// 4. 创建测试实例(变量名与模块名一致)
$hostTest = new hostTest();
// 5. 🔴 强制要求:必须包含至少5个测试步骤
r($hostTest->getTreeModulesTest(0, array())) && p('3:name') && e('模块4'); // 步骤1:获取根模块树结构,期望第4个元素名称为模块4
r($hostTest->getTreeModulesTest(1, array())) && p('0:name') && e('子模块1'); // 步骤2:获取模块ID为1的子模块,期望第1个元素名称为子模块1
r($hostTest->getTreeModulesTest(0, array(1 => array((object)array('id' => 1, 'name' => '主机1')), 2 => array((object)array('id' => 2, 'name' => '主机2'))))) && p('0:name') && e('模块1'); // 步骤3:获取包含主机数据的模块树,期望第1个模块名称为模块1
r($hostTest->getTreeModulesTest(999, array())) && p() && e(0); // 步骤4:获取不存在模块ID的树结构,期望返回数组长度为0
r($hostTest->getTreeModulesTest(2, array())) && p('0:name') && e('子模块3'); // 步骤5:获取模块ID为2的子模块,期望第1个元素名称为子模块3