From 958e4503b5477ec641e079af660c2409d0c86d76 Mon Sep 17 00:00:00 2001 From: jitendrapurohit Date: Tue, 6 Oct 2015 15:38:51 +0530 Subject: [PATCH] 4.6 - CRM Test Fixes --- tests/phpunit/CRM/Group/Page/AjaxTest.php | 60 +++++++++++++++++------ 1 file changed, 45 insertions(+), 15 deletions(-) diff --git a/tests/phpunit/CRM/Group/Page/AjaxTest.php b/tests/phpunit/CRM/Group/Page/AjaxTest.php index 2b3989a313..dfd33344c6 100644 --- a/tests/phpunit/CRM/Group/Page/AjaxTest.php +++ b/tests/phpunit/CRM/Group/Page/AjaxTest.php @@ -60,7 +60,10 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { * @param $permission */ public function setPermissionAndRequest($permission) { - CRM_Core_Config::singleton()->userPermissionClass->permissions = array($permission); + if (!is_array($permission)) { + $permission = array($permission); + } + CRM_Core_Config::singleton()->userPermissionClass->permissions = $permission; CRM_Contact_BAO_Group::getPermissionClause(TRUE); global $_REQUEST; $_REQUEST = $this->_params; @@ -71,7 +74,10 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { * @param $hook */ public function setHookAndRequest($permission, $hook) { - CRM_Core_Config::singleton()->userPermissionClass->permissions = array($permission); + if (!is_array($permission)) { + $permission = array($permission); + } + CRM_Core_Config::singleton()->userPermissionClass->permissions = $permission; $this->hookClass->setHook('civicrm_aclGroup', array($this, $hook)); CRM_Contact_BAO_Group::getPermissionClause(TRUE); global $_REQUEST; @@ -82,9 +88,27 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { * Retrieve groups as 'view all contacts' */ public function testGroupListViewAllContacts() { + $this->setPermissionAndRequest(array('view all contacts', 'edit groups')); + list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); + $this->assertEquals(2, $total); + $this->assertEquals('pick-me-active', $groups[2]['group_name']); + $this->assertEquals('not-me-active', $groups[4]['group_name']); + } + + /** + * Check Group Edit w/o 'edit groups' permission. + */ + public function testGroupEditWithAndWithoutPermission() { $this->setPermissionAndRequest('view all contacts'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(2, $total); + $this->assertEquals('pick-me-active', $groups[2]['group_name']); + $this->assertEquals('not-me-active', $groups[4]['group_name']); + + // as per changes made in PR-6822 + $this->setPermissionAndRequest(array('view all contacts', 'edit groups')); + list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); + $this->assertEquals(2, $total); $this->assertEquals('pick-me-active', $groups[2]['group_name']); $this->assertEquals('not-me-active', $groups[4]['group_name']); } @@ -96,7 +120,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { */ public function testGroupListViewAllContactsFoundTitle() { $this->_params['title'] = 'p'; - $this->setPermissionAndRequest('view all contacts'); + $this->setPermissionAndRequest(array('view all contacts', 'edit groups')); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(2, $total); $this->assertEquals('pick-me-active', $groups[2]['group_name']); @@ -117,7 +141,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { * Retrieve groups as 'edit all contacts' */ public function testGroupListEditAllContacts() { - $this->setPermissionAndRequest('edit all contacts'); + $this->setPermissionAndRequest(array('edit all contacts', 'edit groups')); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(2, $total); $this->assertEquals('pick-me-active', $groups[2]['group_name']); @@ -129,7 +153,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { */ public function testGroupListViewAllContactsEnabled() { $this->_params['status'] = 1; - $this->setPermissionAndRequest('view all contacts'); + $this->setPermissionAndRequest(array('view all contacts', 'edit groups')); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(2, $total); $this->assertEquals('pick-me-active', $groups[2]['group_name']); @@ -141,7 +165,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { */ public function testGroupListViewAllContactsDisabled() { $this->_params['status'] = 2; - $this->setPermissionAndRequest('view all contacts'); + $this->setPermissionAndRequest(array('view all contacts', 'edit groups')); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(2, $total); $this->assertEquals('pick-me-disabled', $groups[1]['group_name']); @@ -154,7 +178,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { public function testGroupListViewAllContactsDisabledNotFoundTitle() { $this->_params['status'] = 2; $this->_params['title'] = 'n'; - $this->setPermissionAndRequest('view all contacts'); + $this->setPermissionAndRequest(array('view all contacts', 'edit groups')); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, $total); $this->assertEquals('not-me-disabled', $groups[3]['group_name']); @@ -166,7 +190,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { public function testGroupListViewAllContactsDisabledFoundTitle() { $this->_params['status'] = 2; $this->_params['title'] = 'p'; - $this->setPermissionAndRequest('view all contacts'); + $this->setPermissionAndRequest(array('view all contacts', 'edit groups')); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, $total); $this->assertEquals('pick-me-disabled', $groups[1]['group_name']); @@ -177,7 +201,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { */ public function testGroupListViewAllContactsAll() { $this->_params['status'] = 3; - $this->setPermissionAndRequest('view all contacts'); + $this->setPermissionAndRequest(array('view all contacts', 'edit groups')); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(4, $total); $this->assertEquals('pick-me-disabled', $groups[1]['group_name']); @@ -256,6 +280,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { public function testTraditionalACL() { $this->setupACL(); + $this->setPermissionAndRequest('edit groups'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(1, $total, 'Total needs to be set correctly'); @@ -273,6 +298,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { public function testTraditionalACLFoundTitle() { $this->_params['title'] = 'p'; $this->setupACL(); + $this->setPermissionAndRequest('edit groups'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(2, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(2, $total, 'Total needs to be set correctly'); @@ -283,6 +309,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { public function testTraditionalACLDisabled() { $this->_params['status'] = 2; $this->setupACL(); + $this->setPermissionAndRequest('edit groups'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(1, $total, 'Total needs to be set correctly'); @@ -293,6 +320,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { $this->_params['status'] = 2; $this->_params['title'] = 'p'; $this->setupACL(); + $this->setPermissionAndRequest('edit groups'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(1, $total, 'Total needs to be set correctly'); @@ -311,6 +339,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { public function testTraditionalACLEnabled() { $this->_params['status'] = 1; $this->setupACL(); + $this->setPermissionAndRequest('edit groups'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(1, $total, 'Total needs to be set correctly'); @@ -320,6 +349,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { public function testTraditionalACLAll() { $this->_params['status'] = 3; $this->setupACL(); + $this->setPermissionAndRequest('edit groups'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(2, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(2, $total, 'Total needs to be set correctly'); @@ -332,7 +362,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { */ public function testGroupListAclGroupHookDisabled() { $this->_params['status'] = 2; - $this->setHookAndRequest('access CiviCRM', 'hook_civicrm_aclGroup'); + $this->setHookAndRequest(array('access CiviCRM', 'edit groups'), 'hook_civicrm_aclGroup'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(1, $total, 'Total needs to be set correctly'); @@ -345,7 +375,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { public function testGroupListAclGroupHookDisabledFound() { $this->_params['status'] = 2; $this->_params['title'] = 'p'; - $this->setHookAndRequest('access CiviCRM', 'hook_civicrm_aclGroup'); + $this->setHookAndRequest(array('access CiviCRM', 'edit groups'), 'hook_civicrm_aclGroup'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(1, $total, 'Total needs to be set correctly'); @@ -369,7 +399,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { * ACL Group hook. */ public function testGroupListAclGroupHook() { - $this->setHookAndRequest('access CiviCRM', 'hook_civicrm_aclGroup'); + $this->setHookAndRequest(array('access CiviCRM', 'edit groups'), 'hook_civicrm_aclGroup'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(1, $total, 'Total needs to be set correctly'); @@ -392,7 +422,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { */ public function testGroupListAclGroupHookTitleFound() { $this->_params['title'] = 'p'; - $this->setHookAndRequest('access CiviCRM', 'hook_civicrm_aclGroup'); + $this->setHookAndRequest(array('access CiviCRM', 'edit groups'), 'hook_civicrm_aclGroup'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(2, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(2, $total, 'Total needs to be set correctly'); @@ -405,7 +435,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { */ public function testGroupListAclGroupHookAll() { $this->_params['status'] = 3; - $this->setHookAndRequest('access CiviCRM', 'hook_civicrm_aclGroup'); + $this->setHookAndRequest(array('access CiviCRM', 'edit groups'), 'hook_civicrm_aclGroup'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(2, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(2, $total, 'Total needs to be set correctly'); @@ -418,7 +448,7 @@ class CRM_Group_Page_AjaxTest extends CiviUnitTestCase { */ public function testGroupListAclGroupHookEnabled() { $this->_params['status'] = 1; - $this->setHookAndRequest('access CiviCRM', 'hook_civicrm_aclGroup'); + $this->setHookAndRequest(array('access CiviCRM', 'edit groups'), 'hook_civicrm_aclGroup'); list($groups, $total) = CRM_Group_Page_AJAX::getGroupList(); $this->assertEquals(1, count($groups), 'Returned groups should exclude disabled by default'); $this->assertEquals(1, $total, 'Total needs to be set correctly'); -- 2.25.1