61 lines
2.1 KiB
PHP
Executable file
61 lines
2.1 KiB
PHP
Executable file
#!/usr/bin/env php
|
||
<?php
|
||
|
||
/**
|
||
|
||
title=测试 commonTao::isProjectAdmin();
|
||
timeout=0
|
||
cid=15726
|
||
|
||
- 步骤1:项目管理员检查项目权限 @1
|
||
- 步骤2:产品管理员检查产品权限 @1
|
||
- 步骤3:项目群管理员检查项目群权限 @1
|
||
- 步骤4:执行管理员检查执行权限 @1
|
||
- 步骤5:普通用户检查无权限模块 @0
|
||
|
||
*/
|
||
|
||
// 1. 导入依赖(路径固定,不可修改)
|
||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||
include dirname(__FILE__, 2) . '/lib/tao.class.php';
|
||
|
||
// 2. 用户登录(使用管理员账户)
|
||
su('admin');
|
||
|
||
// 3. 创建测试实例(变量名与模块名一致)
|
||
$commonTest = new commonTaoTest();
|
||
|
||
// 4. 设置全局环境
|
||
global $app, $lang;
|
||
if(!isset($app)) $app = new stdClass();
|
||
if(!isset($app->user)) $app->user = new stdClass();
|
||
if(!isset($app->session)) $app->session = new stdClass();
|
||
if(!isset($lang)) $lang = new stdClass();
|
||
if(!isset($lang->navGroup)) $lang->navGroup = new stdClass();
|
||
|
||
// 设置用户权限
|
||
$app->user->rights = array(
|
||
'projects' => 'all',
|
||
'products' => 'all',
|
||
'programs' => 'all',
|
||
'executions' => 'all'
|
||
);
|
||
|
||
// 设置导航分组
|
||
$lang->navGroup->task = 'project';
|
||
$lang->navGroup->story = 'product';
|
||
$lang->navGroup->program = 'program';
|
||
$lang->navGroup->execution = 'execution';
|
||
|
||
// 设置session
|
||
$app->session->project = 1;
|
||
$app->session->product = 1;
|
||
$app->session->program = 1;
|
||
$app->session->execution = 1;
|
||
|
||
// 5. 🔴 强制要求:必须包含至少5个测试步骤
|
||
r($commonTest->isProjectAdminTest('task', (object)array('id' => 1, 'type' => 'project'))) && p() && e('1'); // 步骤1:项目管理员检查项目权限
|
||
r($commonTest->isProjectAdminTest('story', (object)array('id' => 1))) && p() && e('1'); // 步骤2:产品管理员检查产品权限
|
||
r($commonTest->isProjectAdminTest('program', (object)array('id' => 1))) && p() && e('1'); // 步骤3:项目群管理员检查项目群权限
|
||
r($commonTest->isProjectAdminTest('execution', (object)array('id' => 1))) && p() && e('1'); // 步骤4:执行管理员检查执行权限
|
||
r($commonTest->isProjectAdminTest('other', (object)array('id' => 1))) && p() && e('0'); // 步骤5:普通用户检查无权限模块
|