Merge branch release/21.7.5 of zentao/zentaopms (#10968)
This commit is contained in:
@@ -282,7 +282,8 @@ class Project
|
||||
{
|
||||
$this->project->addProjectAdmin($projectID);
|
||||
|
||||
return $this->project->dao->select('*')->from(TABLE_PROJECTADMIN)->fetch();
|
||||
global $app;
|
||||
return $this->project->dao->select('*')->from(TABLE_PROJECTADMIN)->where('account')->eq($app->user->account)->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,12 +14,25 @@ title=测试projectModel->updateShadowProduct();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 测试更新项目型敏捷项目的产品信息
|
||||
- 第0条的id属性 @1
|
||||
- 第0条的name属性 @更新敏捷项目11
|
||||
- 测试更新产品型瀑布项目的产品信息
|
||||
- 第0条的id属性 @2
|
||||
- 第0条的name属性 @产品2
|
||||
- 测试更新项目型瀑布项目的产品信息
|
||||
- 第0条的id属性 @3
|
||||
- 第0条的name属性 @更新瀑布项目13
|
||||
- 测试更新产品型看板项目的产品信息
|
||||
- 第0条的id属性 @4
|
||||
- 第0条的name属性 @产品4
|
||||
|
||||
*/
|
||||
|
||||
$projectIdList = array(11, 60, 61, 100);
|
||||
$projectTester = new project();
|
||||
|
||||
r($projectTester->updateShadowProductTest($projectIdList[0])) && p('0:name') && e('更新敏捷项目11'); // 测试更新项目型敏捷项目的产品信息
|
||||
r($projectTester->updateShadowProductTest($projectIdList[1])) && p('0:name') && e('产品2'); // 测试更新产品型瀑布项目的产品信息
|
||||
r($projectTester->updateShadowProductTest($projectIdList[2])) && p('0:name') && e('更新瀑布项目13'); // 测试更新项目型瀑布项目的产品信息
|
||||
r($projectTester->updateShadowProductTest($projectIdList[3])) && p('0:name') && e('产品4'); // 测试更新产品型看板项目的产品信息
|
||||
r($projectTester->updateShadowProductTest($projectIdList[0])) && p('0:id,name') && e('1,更新敏捷项目11'); // 测试更新项目型敏捷项目的产品信息
|
||||
r($projectTester->updateShadowProductTest($projectIdList[1])) && p('0:id,name') && e('2,产品2'); // 测试更新产品型瀑布项目的产品信息
|
||||
r($projectTester->updateShadowProductTest($projectIdList[2])) && p('0:id,name') && e('3,更新瀑布项目13'); // 测试更新项目型瀑布项目的产品信息
|
||||
r($projectTester->updateShadowProductTest($projectIdList[3])) && p('0:id,name') && e('4,产品4'); // 测试更新产品型看板项目的产品信息
|
||||
|
||||
@@ -12,17 +12,28 @@ title=测试 projectModel->accessDenied();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 执行 checkAccess 方法,检查 session 中 project 的值。 @2
|
||||
- 执行 accessDenied 方法,检查 session 中 project 的值。 @0
|
||||
- 检查 result1 是否存在 @1
|
||||
- 检查 result1 是否包含 self.location='/project.html' @1
|
||||
- 检查 result2 是否存在 @1
|
||||
- 检查 result2 的 result @fail
|
||||
- 检查 result2 的 load属性locate @/accessdenied.php?m=project&f=index
|
||||
|
||||
*/
|
||||
|
||||
global $tester;
|
||||
global $tester, $config;
|
||||
$tester->app->moduleName = 'project';
|
||||
$tester->app->methodName = 'browse';
|
||||
$tester->app->setControlFile();
|
||||
$tester->app->setParams();
|
||||
$tester->loadModel('project');
|
||||
|
||||
$config->webRoot = '/';
|
||||
$config->requestType = 'PATH_INFO';
|
||||
|
||||
$tester->project->checkAccess(2, array(2 => ''));
|
||||
r($_SESSION['project']) && p() && e('2');
|
||||
r($_SESSION['project']) && p() && e('2'); // 执行 checkAccess 方法,检查 session 中 project 的值。
|
||||
|
||||
try
|
||||
{
|
||||
@@ -30,6 +41,25 @@ try
|
||||
}
|
||||
catch (EndResponseException $e)
|
||||
{
|
||||
$result1 = $e->getContent();
|
||||
}
|
||||
|
||||
r($_SESSION['project']) && p() && e('0');
|
||||
r($_SESSION['project']) && p() && e('0'); // 执行 accessDenied 方法,检查 session 中 project 的值。
|
||||
r((int)isset($result1)) && p() && e('1'); // 检查 result1 是否存在
|
||||
r((int)strpos($result1, "self.location='/project.html'") !== false) && p() && e('1'); // 检查 result1 是否包含 self.location='/project.html'
|
||||
|
||||
$config->requestType = 'GET';
|
||||
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';
|
||||
try
|
||||
{
|
||||
$tester->project->accessDenied();
|
||||
}
|
||||
catch (EndResponseException $e)
|
||||
{
|
||||
$result2 = $e->getContent();
|
||||
}
|
||||
r((int)isset($result2)) && p() && e('1'); // 检查 result2 是否存在
|
||||
|
||||
$result2 = json_decode($result2, true);
|
||||
r($result2['result']) && p() && e('fail'); // 检查 result2 的 result
|
||||
r($result2['load']) && p('locate') && e('/accessdenied.php?m=project&f=index'); // 检查 result2 的 load
|
||||
@@ -2,10 +2,9 @@
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/lib/project.unittest.class.php';
|
||||
su('admin');
|
||||
|
||||
zenData('projectadmin')->gen(0);
|
||||
|
||||
zenData('user')->gen(5);
|
||||
zenData('project')->gen(15);
|
||||
$group = zenData('group');
|
||||
$group->role->range('projectAdmin');
|
||||
@@ -17,10 +16,23 @@ title=测试 projectModel->create();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 测试将项目ID为1添加admin至分组属性projects @1
|
||||
- 测试将项目ID为2添加admin至分组属性projects @1,2
|
||||
- 测试将项目ID为3添加admin至分组属性projects @1,2,3
|
||||
- 测试将项目ID为1添加user1至分组属性projects @1
|
||||
- 测试将项目ID为2添加user1至分组属性projects @1,2
|
||||
- 测试将项目ID为3添加user1至分组属性projects @1,2,3
|
||||
|
||||
*/
|
||||
|
||||
$projectClass = new project();
|
||||
|
||||
r($projectClass->addProjectAdminTest(1)) && p('projects', '|') && e('1'); // 测试将项目ID为1添加管理员至分组
|
||||
r($projectClass->addProjectAdminTest(2)) && p('projects', '|') && e('1,2'); // 测试将项目ID为2添加管理员至分组
|
||||
r($projectClass->addProjectAdminTest(3)) && p('projects', '|') && e('1,2,3'); // 测试将项目ID为3添加管理员至分组
|
||||
su('admin');
|
||||
r($projectClass->addProjectAdminTest(1)) && p('projects', '|') && e('1'); // 测试将项目ID为1添加admin至分组
|
||||
r($projectClass->addProjectAdminTest(2)) && p('projects', '|') && e('1,2'); // 测试将项目ID为2添加admin至分组
|
||||
r($projectClass->addProjectAdminTest(3)) && p('projects', '|') && e('1,2,3'); // 测试将项目ID为3添加admin至分组
|
||||
|
||||
su('user1');
|
||||
r($projectClass->addProjectAdminTest(1)) && p('projects', '|') && e('1'); // 测试将项目ID为1添加user1至分组
|
||||
r($projectClass->addProjectAdminTest(2)) && p('projects', '|') && e('1,2'); // 测试将项目ID为2添加user1至分组
|
||||
r($projectClass->addProjectAdminTest(3)) && p('projects', '|') && e('1,2,3'); // 测试将项目ID为3添加user1至分组
|
||||
Reference in New Issue
Block a user