znt/module/extension/test/model/getexpiringplugins.php

68 lines
2.8 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 extensionModel::getExpiringPlugins();
timeout=0
cid=16459
- 测试步骤1无已安装插件时获取即将到期的插件列表 @0
- 测试步骤2测试非分组模式的返回格式 @1
- 测试步骤3测试分组模式的返回格式 @1
- 测试步骤4验证分组模式下expiring数组的初始状态 @1
- 测试步骤5验证分组模式下expired数组的初始状态 @1
- 测试步骤6测试当有已安装插件但无授权文件时的行为 @0
- 测试步骤7测试方法参数类型验证 @2
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 准备基础测试数据 - 模拟已安装的插件
$table = zenData('extension');
$table->id->range('1-5');
$table->name->range('testplugin1,testplugin2,testplugin3,testplugin4,testplugin5');
$table->code->range('test1,test2,test3,test4,test5');
$table->version->range('1.0.0{5}');
$table->status->range('installed{5}');
$table->type->range('extension{5}');
$table->author->range('TestAuthor{5}');
$table->desc->range('测试插件描述{5}');
$table->license->range('LGPL{5}');
$table->site->range('http://test.com{5}');
$table->zentaoCompatible->range('all{5}');
$table->depends->range('[]{5}');
$table->dirs->range('[]{5}');
$table->files->range('[]{5}');
$table->gen(5);
// 用户登录
su('admin');
// 创建测试实例
$extensionTest = new extensionModelTest();
// 测试步骤1测试默认参数行为无分组
r($extensionTest->getExpiringPluginsTest()) && p() && e('0'); // 测试步骤1无已安装插件时获取即将到期的插件列表
// 测试步骤2测试显式传入false参数非分组模式
$nonGroupResult = $extensionTest->getExpiringPluginsTest(false);
r(is_array($nonGroupResult) && !isset($nonGroupResult['expiring'])) && p() && e('1'); // 测试步骤2测试非分组模式的返回格式
// 测试步骤3测试分组模式的返回结构
$groupResult = $extensionTest->getExpiringPluginsTest(true);
r(is_array($groupResult) && isset($groupResult['expiring']) && isset($groupResult['expired'])) && p() && e('1'); // 测试步骤3测试分组模式的返回格式
// 测试步骤4验证分组模式下expiring数组
r(is_array($groupResult['expiring'])) && p() && e('1'); // 测试步骤4验证分组模式下expiring数组的初始状态
// 测试步骤5验证分组模式下expired数组
r(is_array($groupResult['expired'])) && p() && e('1'); // 测试步骤5验证分组模式下expired数组的初始状态
// 测试步骤6测试空结果时的数组长度
r(count($nonGroupResult)) && p() && e('0'); // 测试步骤6测试当有已安装插件但无授权文件时的行为
// 测试步骤7验证分组结果数组的键数量
r(count(array_keys($groupResult))) && p() && e('2'); // 测试步骤7测试方法参数类型验证