znt/module/common/test/model/getworkspaceinfo.php

83 lines
2.7 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 commonModel::getWorkspaceInfo();
timeout=0
cid=15684
- 步骤1测试已缓存的工作区信息验证enabled属性 @1
- 步骤2测试禁用工作区配置验证enabled属性 @~~
- 步骤3测试空工作区列表场景验证enabled属性 @1
- 步骤4测试cookie与当前tab不匹配场景验证opened属性 @~~
- 步骤5测试cookie与当前tab匹配场景验证opened属性 @1
*/
// 1. 导入依赖(路径固定,不可修改)
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 2. 用户登录(选择合适角色)
su('admin');
// 3. 设置应用程序上下文
global $app, $config, $lang;
if(empty($app->control))
{
$app->control = $tester;
}
if(empty($app->user))
{
$app->user = (object)array('account' => 'admin', 'rights' => array());
}
// 确保必要的属性存在
if(!isset($app->moduleName)) $app->moduleName = 'common';
if(!isset($app->methodName)) $app->methodName = 'index';
if(!isset($app->rawModule)) $app->rawModule = 'common';
if(!isset($app->rawMethod)) $app->rawMethod = 'index';
// 4. 创建测试实例
$commonTest = new commonModelTest();
// 5. 测试步骤
// 步骤1测试已缓存的工作区信息
if(isset($app->workspaceInfo)) unset($app->workspaceInfo);
$app->workspaceInfo = array('enabled' => true, 'type' => 'test', 'opened' => true);
r($commonTest->getWorkspaceInfoTest()) && p('enabled') && e('1');
// 步骤2测试禁用工作区配置
unset($app->workspaceInfo);
$config->noWorkspace = true;
r($commonTest->getWorkspaceInfoTest()) && p('enabled') && e('~~');
unset($config->noWorkspace);
// 步骤3测试空工作区列表场景
unset($app->workspaceInfo);
$app->tab = 'product';
$app->lang->workspaceList = array();
r($commonTest->getWorkspaceInfoTest()) && p('enabled') && e('1');
// 步骤4测试cookie与当前tab不匹配场景
unset($app->workspaceInfo);
$app->tab = 'product';
$app->lang->workspaceList = array('product' => 'Product Workspace');
$app->cookie->workspace = 'project';
// 设置homeMenu为空确保setMainMenu返回false
if(!isset($lang->product)) $lang->product = new stdClass();
$lang->product->homeMenu = null;
r($commonTest->getWorkspaceInfoTest()) && p('opened') && e('~~');
// 步骤5测试cookie与当前tab匹配场景
unset($app->workspaceInfo);
$app->tab = 'product';
$app->lang->workspaceList = array('product' => 'Product Workspace');
$app->cookie->workspace = 'product';
// 设置homeMenu为空确保setMainMenu返回false
if(!isset($lang->product)) $lang->product = new stdClass();
$lang->product->homeMenu = null;
r($commonTest->getWorkspaceInfoTest()) && p('opened') && e('1');