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

83 lines
2.7 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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');