|
@@ 310-333 (lines=24) @@
|
| 307 |
|
* @see \eZ\Publish\API\Repository\RoleService::createRoleDraft() |
| 308 |
|
* @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testNewRoleCreateStruct |
| 309 |
|
*/ |
| 310 |
|
public function testCreateRoleDraft() |
| 311 |
|
{ |
| 312 |
|
$repository = $this->getRepository(); |
| 313 |
|
|
| 314 |
|
/* BEGIN: Use Case */ |
| 315 |
|
|
| 316 |
|
$roleService = $repository->getRoleService(); |
| 317 |
|
$roleCreate = $roleService->newRoleCreateStruct('roleName'); |
| 318 |
|
|
| 319 |
|
// @todo uncomment when support for multilingual names and descriptions is added EZP-24776 |
| 320 |
|
// $roleCreate->mainLanguageCode = 'eng-US'; |
| 321 |
|
|
| 322 |
|
$roleDraft = $roleService->createRole($roleCreate); |
| 323 |
|
$roleService->publishRoleDraft($roleDraft); |
| 324 |
|
$role = $roleService->loadRole($roleDraft->id); |
| 325 |
|
$newRoleDraft = $roleService->createRoleDraft($role); |
| 326 |
|
|
| 327 |
|
/* END: Use Case */ |
| 328 |
|
|
| 329 |
|
$this->assertInstanceOf( |
| 330 |
|
'\\eZ\\Publish\\API\\Repository\\Values\\User\\RoleDraft', |
| 331 |
|
$newRoleDraft |
| 332 |
|
); |
| 333 |
|
} |
| 334 |
|
|
| 335 |
|
/** |
| 336 |
|
* Test for the createRole() method. |
|
@@ 915-934 (lines=20) @@
|
| 912 |
|
* @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testCreateRole |
| 913 |
|
* @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testLoadRoles |
| 914 |
|
*/ |
| 915 |
|
public function testDeleteRole() |
| 916 |
|
{ |
| 917 |
|
$repository = $this->getRepository(); |
| 918 |
|
|
| 919 |
|
/* BEGIN: Use Case */ |
| 920 |
|
$roleService = $repository->getRoleService(); |
| 921 |
|
$roleCreate = $roleService->newRoleCreateStruct('newRole'); |
| 922 |
|
|
| 923 |
|
// @todo uncomment when support for multilingual names and descriptions is added EZP-24776 |
| 924 |
|
// $roleCreate->mainLanguageCode = 'eng-US'; |
| 925 |
|
|
| 926 |
|
$roleDraft = $roleService->createRole($roleCreate); |
| 927 |
|
$roleService->publishRoleDraft($roleDraft); |
| 928 |
|
$role = $roleService->loadRole($roleDraft->id); |
| 929 |
|
|
| 930 |
|
$roleService->deleteRole($role); |
| 931 |
|
/* END: Use Case */ |
| 932 |
|
|
| 933 |
|
$this->assertEquals(5, count($roleService->loadRoles())); |
| 934 |
|
} |
| 935 |
|
|
| 936 |
|
/** |
| 937 |
|
* Test for the deleteRoleDraft() method. |
|
@@ 857-878 (lines=22) @@
|
| 854 |
|
* @expectedException \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException |
| 855 |
|
* @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testUpdateRole |
| 856 |
|
*/ |
| 857 |
|
public function testUpdateRoleThrowsInvalidArgumentException() |
| 858 |
|
{ |
| 859 |
|
$repository = $this->getRepository(); |
| 860 |
|
|
| 861 |
|
/* BEGIN: Use Case */ |
| 862 |
|
$roleService = $repository->getRoleService(); |
| 863 |
|
$roleCreate = $roleService->newRoleCreateStruct('newRole'); |
| 864 |
|
|
| 865 |
|
// @todo uncomment when support for multilingual names and descriptions is added EZP-24776 |
| 866 |
|
// $roleCreate->mainLanguageCode = 'eng-US'; |
| 867 |
|
|
| 868 |
|
$roleDraft = $roleService->createRole($roleCreate); |
| 869 |
|
$roleService->publishRoleDraft($roleDraft); |
| 870 |
|
$role = $roleService->loadRole($roleDraft->id); |
| 871 |
|
|
| 872 |
|
$roleUpdate = $roleService->newRoleUpdateStruct(); |
| 873 |
|
$roleUpdate->identifier = 'Editor'; |
| 874 |
|
|
| 875 |
|
// This call will fail with an InvalidArgumentException, because Editor is a predefined role |
| 876 |
|
$roleService->updateRole($role, $roleUpdate); |
| 877 |
|
/* END: Use Case */ |
| 878 |
|
} |
| 879 |
|
|
| 880 |
|
/** |
| 881 |
|
* Test for the updateRoleDraft() method. |