From a034f2c9de2cc18424b8a772873739014fd8e249 Mon Sep 17 00:00:00 2001 From: songchenxuan Date: Mon, 16 Oct 2023 14:15:42 +0800 Subject: [PATCH] * Modify user test. --- module/project/test/model/create.php | 2 +- module/user/test/model/checkproductpriv.php | 19 ++++++++------ module/user/test/model/computeuserview.php | 26 +++++++++++--------- module/user/test/model/create.php | 4 +-- module/user/test/model/createcontactlist.php | 4 +-- module/user/test/user.class.php | 14 ++++++----- 6 files changed, 39 insertions(+), 30 deletions(-) diff --git a/module/project/test/model/create.php b/module/project/test/model/create.php index 32dbf11778..1ef1eb08de 100755 --- a/module/project/test/model/create.php +++ b/module/project/test/model/create.php @@ -76,4 +76,4 @@ r($projectClass->create($normalProject, $postData)) && p('name') r($projectClass->create($emptyNameProject, $postData)) && p('message[name]:0') && e('『项目名称』不能为空。'); r($projectClass->create($emptyEndProject, $postData)) && p('message[end]:0') && e('『计划完成』不能为空。'); r($projectClass->create($beginGtEndProject, $postData)) && p('message[end]:0') && e('『计划完成』应当大于『2022-02-07』。'); -r($projectClass->create($emptyBeginProject, $postData)) && p('message[begin]:0') && e('『计划开始』不能为空。'); \ No newline at end of file +r($projectClass->create($emptyBeginProject, $postData)) && p('message[begin]:0') && e('『计划开始』不能为空。'); diff --git a/module/user/test/model/checkproductpriv.php b/module/user/test/model/checkproductpriv.php index 6fe1940640..befe39293d 100755 --- a/module/user/test/model/checkproductpriv.php +++ b/module/user/test/model/checkproductpriv.php @@ -23,11 +23,14 @@ pid=1 $user = new userTest(); $product = new stdclass(); -$product->id = 1; -$product->name = '测试产品'; -$product->PO = 'test2'; -$product->openedBy = 'pm1'; -$product->acl = 'private'; +$product->id = 1; +$product->name = '测试产品'; +$product->PO = 'test2'; +$product->PM = ''; +$product->QD = ''; +$product->RD = ''; +$product->createdBy = 'pm1'; +$product->acl = 'private'; $stakeholders['user10'] = 'user10'; $whiteList['user60'] = 'user60'; @@ -38,9 +41,9 @@ $user->objectModel->app->company->admins = ',admin,'; r($user->checkProductPrivTest(new stdclass(), 'admin')) && p() && e('1'); //传入admin,判断admin用户是否有权限 r($user->checkProductPrivTest($product, 'test3')) && p() && e('0'); //传入产品、用户名,判断test3用户是否对此产品有权限 r($user->checkProductPrivTest($product, 'test2')) && p() && e('1'); //传入产品、用户名,判断test2用户是否对此产品有权限 -r($user->checkProductPrivTest($product, 'user10', array(), '', $stakeholders)) && p() && e('1'); //传入产品、用户名、干系人、白名单,判断user10用户是否对此产品有权限 -r($user->checkProductPrivTest($product, 'user60', array(), '', $stakeholders, $whiteList)) && p() && e('1'); //传入产品、用户名、干系人、白名单,判断user60用户是否对此产品有权限 -r($user->checkProductPrivTest($product, 'test6', array(), '', $stakeholders, $whiteList, $admins)) && p() && e('1'); //传入产品、用户名、干系人、白名单, admins,判断test6用户是否对此产品有权限 +r($user->checkProductPrivTest($product, 'user10', '', array(), $stakeholders)) && p() && e('1'); //传入产品、用户名、干系人、白名单,判断user10用户是否对此产品有权限 +r($user->checkProductPrivTest($product, 'user60', '', array(), $stakeholders, $whiteList)) && p() && e('1'); //传入产品、用户名、干系人、白名单,判断user60用户是否对此产品有权限 +r($user->checkProductPrivTest($product, 'test6', '', array(), $stakeholders, $whiteList, $admins)) && p() && e('1'); //传入产品、用户名、干系人、白名单, admins,判断test6用户是否对此产品有权限 $product->acl = 'open'; r($user->checkProductPrivTest($product, 'test8')) && p() && e('1'); //传入公开产品,判断test6用户是否对此产品有权限 diff --git a/module/user/test/model/computeuserview.php b/module/user/test/model/computeuserview.php index 971dd8636a..87a7d8104e 100755 --- a/module/user/test/model/computeuserview.php +++ b/module/user/test/model/computeuserview.php @@ -4,6 +4,16 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; include dirname(__FILE__, 2) . '/user.class.php'; su('admin'); +$program = zdTable('project')->config('program'); +$program->acl->range('private{5},open{5}'); +$program->openedBy->range('admin{3},test2{2}'); +$program->gen(10); + +$product = zdTable('product')->config('product'); +$product->acl->range('private{5},open{5}'); +$product->createdBy->range('admin{3},user10{2}'); +$product->gen(10); + /** title=测试 userModel->computeUserView(); @@ -26,14 +36,8 @@ $adminViews = $user->computeUserViewTest('admin'); $adminPrograms = substr($adminViews->programs, 0, 5); $adminProducts = substr($adminViews->products, 0, 5); -$computedAdminViews = $user->computeUserViewTest('admin', true); -$computedAdminPrograms = substr($computedAdminViews->programs, 0, 3); -$computedAdminProducts = substr($computedAdminViews->products, 0, 5); - -r($adminPrograms) && p() && e(',1,2,'); //获取强制计算前admin账户可见的前两个项目集ID -r($adminProducts) && p() && e(',1,2,'); //获取强制计算前admin账户可见的前两个产品ID -r($computedAdminPrograms) && p() && e('5,6'); //获取强制计算前admin账户可见的前两个项目集ID -r($computedAdminProducts) && p() && e(',11,12,'); //获取强制计算前admin账户可见的前两个产品ID -r($user->computeUserViewTest('user10')) && p('products') && e('99'); //获取user10账户可见的产品ID -r($user->computeUserViewTest('test2')) && p('projects') && e(',12'); //获取test2账户可见的项目ID -r($user->computeUserViewTest(null)) && p('account') && e('admin'); //用户名传null,则获取当前登录账户的views +r($adminPrograms) && p() && e('1,2,3'); //获取强制计算前admin账户可见的前两个项目集ID +r($adminProducts) && p() && e('1,2,3'); //获取强制计算前admin账户可见的前两个产品ID +r($user->computeUserViewTest('user10')) && p('products', '-') && e('4,5'); //获取user10账户可见的产品ID +r($user->computeUserViewTest('test2')) && p('programs', '-') && e('4,5'); //获取test2账户可见的项目ID +r($user->computeUserViewTest(null)) && p('account') && e('admin'); //用户名传null,则获取当前登录账户的views diff --git a/module/user/test/model/create.php b/module/user/test/model/create.php index d993b50fa0..d4e3084b0c 100755 --- a/module/user/test/model/create.php +++ b/module/user/test/model/create.php @@ -50,10 +50,10 @@ $differentPassword['password2'] = 'asfjhjkahf9012asd123'; $existUser = $normalUser; $existUser['account'] = 'admin'; -r($user->createUserTest($weakPassword)) && p('password1:0') && e(' 密码必须6位及以上,且包含大小写字母、数字。
'); //密码较弱的情况 +r($user->createUserTest($weakPassword)) && p('password1:0') && e(' 密码必须6位及以上,且包含大小写字母、数字。'); //密码较弱的情况 r($user->createUserTest($emptyVisions)) && p('visions:0') && e('『界面类型』不能为空。'); //Visions为空的情况 r($user->createUserTest($emptyAccount)) && p('account:0') && e('『用户名』不能为空。'); //用户名为空的情况 r($user->createUserTest($specialAccount)) && p('account:0') && e('『用户名』只能是字母、数字或下划线的组合三位以上。'); //用户名特殊的情况 -r($user->createUserTest($differentPassword)) && p('password1:0') && e('两次密码应该相同。
'); //两次密码不相同的情况 +r($user->createUserTest($differentPassword)) && p('password1:0') && e('两次密码应该相同。'); //两次密码不相同的情况 r($user->createUserTest($existUser)) && p('account:0') && e('『用户名』已经有『admin』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。'); //插入重复的用户名,返回报错信息 r($user->createUserTest($normalUser)) && p('realname') && e('新的测试用户'); //正常插入用户,返回新插入的真实姓名 diff --git a/module/user/test/model/createcontactlist.php b/module/user/test/model/createcontactlist.php index 8f0c137689..9b64058cb0 100755 --- a/module/user/test/model/createcontactlist.php +++ b/module/user/test/model/createcontactlist.php @@ -24,6 +24,6 @@ $userTester = new userTest(); $userList = array('admin,test2,user29,assfjg'); r($userTester->createContactListTest('新的列表名称1', $userList)) && p('listName') && e('新的列表名称1'); // 插入一条联系人列表,获取插入的联系人列表名称 -r($userTester->createContactListTest('新的列表名称2', $userList)) && p('userList') && e('admin,test2,user29,assfjg'); // 插入一条联系人列表,获取插入的联系人列表名称 +r($userTester->createContactListTest('新的列表名称2', $userList)) && p('userList', '-') && e('admin,test2,user29,assfjg'); // 插入一条联系人列表,获取插入的联系人列表名称 r($userTester->createContactListTest('新的列表名称1', array())) && p('message[listName]:0') && e('『列表名称』已经有『新的列表名称1』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。'); // 列表名称重复时 -r($userTester->createContactListTest('', array())) && p('message[listName]:0') && e('1'); // 列表名称为空时 +r($userTester->createContactListTest('', array())) && p('message[listName]:0') && e('『列表名称』不能为空。'); // 列表名称为空时 diff --git a/module/user/test/user.class.php b/module/user/test/user.class.php index e24dd4c5d8..108366dcb4 100755 --- a/module/user/test/user.class.php +++ b/module/user/test/user.class.php @@ -647,13 +647,15 @@ class userTest */ public function createContactListTest($listName = '', $userList = array()) { - ob_start(); - $listID = $this->objectModel->createContactList($listName, $userList); - $message = ob_get_clean(); + $_POST = array(); + $_POST['listName'] = $listName; + $_POST['userList'] = $userList; + + $listID = $this->objectModel->createContactList(); - if($message) return array('message' => array('listName' => array(1))); if(dao::isError()) return array('message' => dao::getError()); - return $this->objectModel->getContactListByID($listID); + global $dao; + return $dao->select('*')->from(TABLE_USERCONTACT)->orderBy('id_desc')->fetch(); } /** @@ -739,7 +741,7 @@ class userTest * @access public * @return void */ - public function computeUserViewTest($account, $force = false) + public function computeUserViewTest($account, $force = true) { $userview = $this->objectModel->computeUserView($account, $force);