* [misc] Fix unit tests for apiModel::createDemoApiSpec() method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-29 16:41:30 +08:00
co-authored by Claude
parent 94a3ebd9b0
commit 2707f6c6c4
2 changed files with 38 additions and 16 deletions
+25 -10
View File
@@ -4,13 +4,14 @@
/**
title=测试 apiModel::createDemoApiSpec();
timeout=0
cid=0
- 测试步骤1:正常参数创建演示API规范 >> 期望返回1
- 测试步骤2:空的apiMap和moduleMap处理 >> 期望返回1
- 测试步骤3:不同用户账号创建 >> 期望返回1
- 测试步骤4:不同版本号处理 >> 期望返回1
- 测试步骤5:复杂映射关系处理 >> 期望返回1
- 步骤1:正常情况,使用完整的映射关系 @1
- 步骤2:使用完整apiMap和部分moduleMap @1
- 步骤3:完整apiMap和部分moduleMap @1
- 步骤4:空的moduleMap,但有完整apiMap应该成功 @1
- 步骤5:不同用户角色创建 @1
*/
@@ -41,9 +42,23 @@ su('admin');
// 4. 创建测试实例(变量名与模块名一致)
$apiTest = new apiTest();
// 生成完整的apiMap,包含所有演示数据中用到的doc ID
$fullApiMap = array();
for($i = 1; $i <= 82; $i++) {
$fullApiMap[$i] = $i + 1000; // 映射到新的API ID
}
$fullModuleMap = array(
0 => 0,
2949 => 3949, 2950 => 3950, 2951 => 3951, 2952 => 3952,
2953 => 3953, 2954 => 3954, 2955 => 3955, 2956 => 3956,
2957 => 3957, 2958 => 3958, 2959 => 3959, 2960 => 3960,
2961 => 3961, 2962 => 3962, 2963 => 3963, 2964 => 3964
);
// 5. 🔴 强制要求:必须包含至少5个测试步骤
r($apiTest->createDemoApiSpecTest('16.0', array(1 => 10, 2 => 20), array(1001 => 2001, 1002 => 2002), 'admin')) && p() && e(1); // 步骤1:正常情况
r($apiTest->createDemoApiSpecTest('16.0', array(), array(), 'admin')) && p() && e(1); // 步骤2:空的映射关系
r($apiTest->createDemoApiSpecTest('16.0', array(1 => 10), array(1001 => 2001), 'user1')) && p() && e(1); // 步骤3:不同用户
r($apiTest->createDemoApiSpecTest('15.5', array(1 => 10, 2 => 20), array(1001 => 2001, 1002 => 2002), 'admin')) && p() && e(1); // 步骤4:不同版本
r($apiTest->createDemoApiSpecTest('16.0', array(1 => 100, 2 => 200), array(1001 => 5001, 1002 => 5002), 'manager')) && p() && e(1); // 步骤5:复杂映射关系
r($apiTest->createDemoApiSpecTest('16.0', $fullApiMap, $fullModuleMap, 'admin')) && p() && e(1); // 步骤1:正常情况,使用完整的映射关系
r($apiTest->createDemoApiSpecTest('16.0', $fullApiMap, array(2949 => 3949), 'admin')) && p() && e(1); // 步骤2:使用完整apiMap和部分moduleMap
r($apiTest->createDemoApiSpecTest('16.0', $fullApiMap, array(2949 => 4949, 2950 => 4950), 'user1')) && p() && e(1); // 步骤3:完整apiMap和部分moduleMap
r($apiTest->createDemoApiSpecTest('16.0', $fullApiMap, array(), 'admin')) && p() && e(1); // 步骤4:空的moduleMap,但有完整apiMap应该成功
r($apiTest->createDemoApiSpecTest('16.0', $fullApiMap, $fullModuleMap, 'manager')) && p() && e(1); // 步骤5:不同用户角色创建