|
@@ 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. |
|
@@ 367-388 (lines=22) @@
|
| 364 |
|
* @expectedException \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException |
| 365 |
|
* @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testCreateRoleDraft |
| 366 |
|
*/ |
| 367 |
|
public function testCreateRoleDraftThrowsInvalidArgumentException() |
| 368 |
|
{ |
| 369 |
|
$repository = $this->getRepository(); |
| 370 |
|
|
| 371 |
|
/* BEGIN: Use Case */ |
| 372 |
|
|
| 373 |
|
$roleService = $repository->getRoleService(); |
| 374 |
|
$roleCreate = $roleService->newRoleCreateStruct('Editor'); |
| 375 |
|
|
| 376 |
|
// @todo uncomment when support for multilingual names and descriptions is added EZP-24776 |
| 377 |
|
// $roleCreate->mainLanguageCode = 'eng-US'; |
| 378 |
|
|
| 379 |
|
$roleDraft = $roleService->createRole($roleCreate); |
| 380 |
|
$roleService->publishRoleDraft($roleDraft); |
| 381 |
|
$role = $roleService->loadRole($roleDraft->id); |
| 382 |
|
$roleService->createRoleDraft($role); // First role draft |
| 383 |
|
|
| 384 |
|
// This call will fail with an InvalidArgumentException, because there is already a draft |
| 385 |
|
$roleService->createRoleDraft($role); |
| 386 |
|
|
| 387 |
|
/* END: Use Case */ |
| 388 |
|
} |
| 389 |
|
|
| 390 |
|
/** |
| 391 |
|
* 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. |