Commit | Line | Data |
---|---|---|
61fad6d6 EM |
1 | <?php |
2 | /* | |
3 | +--------------------------------------------------------------------+ | |
4 | | Copyright CiviCRM LLC. All rights reserved. | | |
5 | | | | |
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 | +--------------------------------------------------------------------+ | |
10 | */ | |
11 | ||
12 | /** | |
13 | * Class CRM_Member_BAO_MembershipTest | |
14 | * @group headless | |
15 | */ | |
16 | class CRM_Member_TaskTest extends CiviUnitTestCase { | |
17 | ||
18 | use Civi\Test\ACLPermissionTrait; | |
19 | ||
20 | /** | |
21 | * Test tiles are correctly filtered on permissions. | |
22 | */ | |
23 | public function testPermissionedTiles(): void { | |
24 | $this->createLoggedInUser(); | |
25 | ||
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); | |
30 | ||
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); | |
34 | ||
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); | |
38 | ||
39 | \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['edit memberships']; | |
40 | $tasks = CRM_Member_Task::permissionedTaskTitles(CRM_Core_Permission::EDIT); | |
41 | $this->assertEquals([ | |
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', | |
48 | ], $tasks); | |
49 | ||
50 | \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['edit memberships', 'delete in CiviMember', 'edit groups']; | |
51 | $tasks = CRM_Member_Task::permissionedTaskTitles(CRM_Core_Permission::EDIT); | |
52 | $this->assertEquals([ | |
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', | |
61 | ], $tasks); | |
62 | } | |
63 | ||
64 | } |