3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
13 * Class CRM_Member_BAO_MembershipTest
16 class CRM_Member_TaskTest
extends CiviUnitTestCase
{
18 use Civi\Test\ACLPermissionTrait
;
21 * Test tiles are correctly filtered on permissions.
23 public function testPermissionedTiles(): void
{
24 $this->createLoggedInUser();
26 CRM_Member_Task
::tasks();
27 \CRM_Core_Config
::singleton()->userPermissionClass
->permissions
= ['view memberships'];
28 $tasks = CRM_Member_Task
::permissionedTaskTitles(CRM_Core_Permission
::VIEW
);
29 $this->assertEquals([8 => 'Export members', 5 => 'Print selected rows'], $tasks);
31 \CRM_Core_Config
::singleton()->userPermissionClass
->permissions
= ['delete in CiviMember', 'view memberships'];
32 $tasks = CRM_Member_Task
::permissionedTaskTitles(CRM_Core_Permission
::VIEW
);
33 $this->assertEquals([8 => 'Export members', 5 => 'Print selected rows', 4 => 'Delete memberships'], $tasks);
35 \CRM_Core_Config
::singleton()->userPermissionClass
->permissions
= ['edit memberships'];
36 $tasks = CRM_Member_Task
::permissionedTaskTitles(CRM_Core_Permission
::VIEW
);
37 $this->assertEquals([8 => 'Export members', 5 => 'Print selected rows'], $tasks);
39 \CRM_Core_Config
::singleton()->userPermissionClass
->permissions
= ['edit memberships'];
40 $tasks = CRM_Member_Task
::permissionedTaskTitles(CRM_Core_Permission
::EDIT
);
42 8 => 'Export members',
43 5 => 'Print selected rows',
44 9 => 'Email - send now (to 50 or less)',
45 201 => 'Mailing labels - print',
46 3 => 'Print/merge document for memberships',
47 6 => 'Update multiple memberships',
50 \CRM_Core_Config
::singleton()->userPermissionClass
->permissions
= ['edit memberships', 'delete in CiviMember', 'edit groups'];
51 $tasks = CRM_Member_Task
::permissionedTaskTitles(CRM_Core_Permission
::EDIT
);
53 8 => 'Export members',
54 5 => 'Print selected rows',
55 9 => 'Email - send now (to 50 or less)',
56 201 => 'Mailing labels - print',
57 3 => 'Print/merge document for memberships',
58 6 => 'Update multiple memberships',
59 4 => 'Delete memberships',
60 12 => 'Group - create smart group',