| @@ 290-320 (lines=31) @@ | ||
| 287 | * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testRemovePolicyByRoleDraft |
|
| 288 | * @depends eZ\Publish\API\Repository\Tests\UserServiceTest::testCreateUser |
|
| 289 | */ |
|
| 290 | public function testRemovePolicyThrowsUnauthorizedException() |
|
| 291 | { |
|
| 292 | $repository = $this->getRepository(); |
|
| 293 | $roleService = $repository->getRoleService(); |
|
| 294 | ||
| 295 | /* BEGIN: Use Case */ |
|
| 296 | $user = $this->createUserVersion1(); |
|
| 297 | ||
| 298 | $roleCreate = $roleService->newRoleCreateStruct('newRole'); |
|
| 299 | ||
| 300 | // @todo uncomment when support for multilingual names and descriptions is added EZP-24776 |
|
| 301 | // $roleCreate->mainLanguageCode = 'eng-US'; |
|
| 302 | ||
| 303 | // Create a new role with two policies |
|
| 304 | $roleDraft = $roleService->createRole($roleCreate); |
|
| 305 | $roleService->addPolicyByRoleDraft( |
|
| 306 | $roleDraft, |
|
| 307 | $roleService->newPolicyCreateStruct('content', 'create') |
|
| 308 | ); |
|
| 309 | $roleDraft = $roleService->addPolicyByRoleDraft( |
|
| 310 | $roleDraft, |
|
| 311 | $roleService->newPolicyCreateStruct('content', 'delete') |
|
| 312 | ); |
|
| 313 | ||
| 314 | // Set "Editor" user as current user. |
|
| 315 | $repository->setCurrentUser($user); |
|
| 316 | ||
| 317 | // This call will fail with an "UnauthorizedException" |
|
| 318 | $roleService->removePolicyByRoleDraft($roleDraft, $roleDraft->getPolicies()[0]); |
|
| 319 | /* END: Use Case */ |
|
| 320 | } |
|
| 321 | ||
| 322 | /** |
|
| 323 | * Test for the deletePolicy() method. |
|
| @@ 1706-1737 (lines=32) @@ | ||
| 1703 | * @see \eZ\Publish\API\Repository\RoleService::removePolicyByRoleDraft() |
|
| 1704 | * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testAddPolicyByRoleDraft |
|
| 1705 | */ |
|
| 1706 | public function testRemovePolicyByRoleDraft() |
|
| 1707 | { |
|
| 1708 | $repository = $this->getRepository(); |
|
| 1709 | ||
| 1710 | /* BEGIN: Use Case */ |
|
| 1711 | $roleService = $repository->getRoleService(); |
|
| 1712 | ||
| 1713 | // Instantiate a new role create |
|
| 1714 | $roleCreate = $roleService->newRoleCreateStruct('newRole'); |
|
| 1715 | ||
| 1716 | // @todo uncomment when support for multilingual names and descriptions is added EZP-24776 |
|
| 1717 | // $roleCreate->mainLanguageCode = 'eng-US'; |
|
| 1718 | ||
| 1719 | // Create a new role with two policies |
|
| 1720 | $roleDraft = $roleService->createRole($roleCreate); |
|
| 1721 | $roleService->addPolicyByRoleDraft( |
|
| 1722 | $roleDraft, |
|
| 1723 | $roleService->newPolicyCreateStruct('content', 'create') |
|
| 1724 | ); |
|
| 1725 | $roleService->addPolicyByRoleDraft( |
|
| 1726 | $roleDraft, |
|
| 1727 | $roleService->newPolicyCreateStruct('content', 'delete') |
|
| 1728 | ); |
|
| 1729 | ||
| 1730 | // Delete all policies from the new role |
|
| 1731 | foreach ($roleDraft->getPolicies() as $policy) { |
|
| 1732 | $roleDraft = $roleService->removePolicyByRoleDraft($roleDraft, $policy); |
|
| 1733 | } |
|
| 1734 | /* END: Use Case */ |
|
| 1735 | ||
| 1736 | $this->assertSame([], $roleDraft->getPolicies()); |
|
| 1737 | } |
|
| 1738 | ||
| 1739 | /** |
|
| 1740 | * Test for the deletePolicy() method. |
|
| @@ 2928-2957 (lines=30) @@ | ||
| 2925 | * @see \eZ\Publish\API\Repository\RoleService::publishRoleDraft() |
|
| 2926 | * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testCreateRoleDraft |
|
| 2927 | */ |
|
| 2928 | public function testPublishRoleDraft() |
|
| 2929 | { |
|
| 2930 | $repository = $this->getRepository(); |
|
| 2931 | ||
| 2932 | /* BEGIN: Use Case */ |
|
| 2933 | $roleService = $repository->getRoleService(); |
|
| 2934 | $roleCreate = $roleService->newRoleCreateStruct('newRole'); |
|
| 2935 | ||
| 2936 | // @todo uncomment when support for multilingual names and descriptions is added EZP-24776 |
|
| 2937 | // $roleCreate->mainLanguageCode = 'eng-US'; |
|
| 2938 | ||
| 2939 | $roleDraft = $roleService->createRole($roleCreate); |
|
| 2940 | ||
| 2941 | $roleDraft = $roleService->addPolicyByRoleDraft( |
|
| 2942 | $roleDraft, |
|
| 2943 | $roleService->newPolicyCreateStruct('content', 'delete') |
|
| 2944 | ); |
|
| 2945 | $roleDraft = $roleService->addPolicyByRoleDraft( |
|
| 2946 | $roleDraft, |
|
| 2947 | $roleService->newPolicyCreateStruct('content', 'create') |
|
| 2948 | ); |
|
| 2949 | ||
| 2950 | $roleService->publishRoleDraft($roleDraft); |
|
| 2951 | /* END: Use Case */ |
|
| 2952 | ||
| 2953 | $this->assertInstanceOf( |
|
| 2954 | '\\eZ\\Publish\\API\\Repository\\Values\\User\\Role', |
|
| 2955 | $roleService->loadRoleByIdentifier($roleCreate->identifier) |
|
| 2956 | ); |
|
| 2957 | } |
|
| 2958 | ||
| 2959 | /** |
|
| 2960 | * Test for the publishRoleDraft() method. |
|