diff --git a/module/project/test/lib/project.unittest.class.php b/module/project/test/lib/project.unittest.class.php index 9e5165224e..5a75536e70 100644 --- a/module/project/test/lib/project.unittest.class.php +++ b/module/project/test/lib/project.unittest.class.php @@ -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(); } /** diff --git a/module/project/test/model/updateshadowproduct.php b/module/project/test/model/updateshadowproduct.php index 5bfee7d5c3..90b10131a1 100644 --- a/module/project/test/model/updateshadowproduct.php +++ b/module/project/test/model/updateshadowproduct.php @@ -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'); // 测试更新产品型看板项目的产品信息 diff --git a/module/project/test/tao/accessdenied.php b/module/project/test/tao/accessdenied.php index 15609671d3..6dccbde646 100755 --- a/module/project/test/tao/accessdenied.php +++ b/module/project/test/tao/accessdenied.php @@ -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 \ No newline at end of file diff --git a/module/project/test/tao/addprojectadmin.php b/module/project/test/tao/addprojectadmin.php index 0bc14e107a..6dbd169f02 100755 --- a/module/project/test/tao/addprojectadmin.php +++ b/module/project/test/tao/addprojectadmin.php @@ -2,10 +2,9 @@ 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至分组 \ No newline at end of file