‪TYPO3CMS  11.5
PagePermissionTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use TYPO3\CMS\Backend\Utility\BackendUtility;
23 
28 {
30  'typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial',
31  ];
32 
33  protected function ‪setUp(): void
34  {
35  parent::setUp();
36  $this->importCSVDataSet(__DIR__ . '/DataSet/ImportDefault.csv');
37  }
38 
43  {
44  $this->backendUser->user['uid'] = 13;
45  $this->backendUser->firstMainGroup = 14;
46  ‪$GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPermissions'] = [
47  'user' => 'show,editcontent,edit,delete',
48  'group' => 'show,editcontent,new',
49  'everybody' => 'show',
50  ];
51  $record = $this->‪insertPage();
52  self::assertEquals(13, $record['perms_userid']);
53  self::assertEquals(14, $record['perms_groupid']);
55  self::assertEquals(‪Permission::PAGE_SHOW + ‪Permission::CONTENT_EDIT + ‪Permission::PAGE_NEW, $record['perms_group']);
56  self::assertEquals(‪Permission::PAGE_SHOW, $record['perms_everybody']);
57  }
58 
63  {
64  $this->backendUser->user['uid'] = 13;
65  $this->backendUser->firstMainGroup = 14;
66  ‪$GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPermissions'] = [
67  'user' => 'show,editcontent,edit,delete',
68  'group' => 'show,editcontent,new',
69  'everybody' => 'show',
70  ];
71  ‪$GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'] = '
72 TCEMAIN.permissions.userid = 12
73 TCEMAIN.permissions.groupid = 42
74 TCEMAIN.permissions.user = show,edit
75 TCEMAIN.permissions.group = show,delete
76 TCEMAIN.permissions.everybody = show,delete
77 ';
78  $record = $this->‪insertPage();
79  self::assertEquals(12, $record['perms_userid']);
80  self::assertEquals(42, $record['perms_groupid']);
81  self::assertEquals(‪Permission::PAGE_SHOW + ‪Permission::PAGE_EDIT, $record['perms_user']);
82  self::assertEquals(‪Permission::PAGE_SHOW + ‪Permission::PAGE_DELETE, $record['perms_group']);
83  self::assertEquals(‪Permission::PAGE_SHOW + ‪Permission::PAGE_DELETE, $record['perms_everybody']);
84  }
85 
89  protected function ‪insertPage(): array
90  {
91  // pid 88 comes from ImportDefault
92  $result = $this->actionService->createNewRecord('pages', 88, [
93  'title' => 'Test page',
94  ]);
95  $recordUid = $result['pages'][0];
96  return BackendUtility::getRecord('pages', $recordUid);
97  }
98 }
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Regular\PagePermissionTest\setUp
‪setUp()
Definition: PagePermissionTest.php:33
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Regular\PagePermissionTest\insertPage
‪array insertPage()
Definition: PagePermissionTest.php:89
‪TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_NEW
‪const PAGE_NEW
Definition: Permission.php:50
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Regular\PagePermissionTest\$testExtensionsToLoad
‪$testExtensionsToLoad
Definition: PagePermissionTest.php:29
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase
Definition: AbstractDataHandlerActionTestCase.php:41
‪TYPO3\CMS\Core\Type\Bitmask\Permission
Definition: Permission.php:26
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Regular\PagePermissionTest
Definition: PagePermissionTest.php:28
‪TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_SHOW
‪const PAGE_SHOW
Definition: Permission.php:35
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Regular
Definition: AbstractActionTestCase.php:18
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Regular\PagePermissionTest\newPageReceivesOverriddenPageTsPermissionSet
‪newPageReceivesOverriddenPageTsPermissionSet()
Definition: PagePermissionTest.php:62
‪TYPO3\CMS\Core\Type\Bitmask\Permission\CONTENT_EDIT
‪const CONTENT_EDIT
Definition: Permission.php:55
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_EDIT
‪const PAGE_EDIT
Definition: Permission.php:40
‪TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_DELETE
‪const PAGE_DELETE
Definition: Permission.php:45
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Regular\PagePermissionTest\newPageReceivesDefaultPermissionSet
‪newPageReceivesDefaultPermissionSet()
Definition: PagePermissionTest.php:42