Code Duplication    Length = 30-32 lines in 3 locations

eZ/Publish/API/Repository/Tests/RoleServiceAuthorizationTest.php 1 location

@@ 264-294 (lines=31) @@
261
     * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testRemovePolicy
262
     * @depends eZ\Publish\API\Repository\Tests\UserServiceTest::testCreateUser
263
     */
264
    public function testRemovePolicyThrowsUnauthorizedException()
265
    {
266
        $repository = $this->getRepository();
267
        $roleService = $repository->getRoleService();
268
269
        /* BEGIN: Use Case */
270
        $user = $this->createUserVersion1();
271
272
        $roleCreate = $roleService->newRoleCreateStruct('newRole');
273
274
        // @todo uncomment when support for multilingual names and descriptions is added EZP-24776
275
        // $roleCreate->mainLanguageCode = 'eng-US';
276
277
        // Create a new role with two policies
278
        $roleDraft = $roleService->createRole($roleCreate);
279
        $roleService->addPolicyByRoleDraft(
280
            $roleDraft,
281
            $roleService->newPolicyCreateStruct('content', 'create')
282
        );
283
        $roleDraft = $roleService->addPolicyByRoleDraft(
284
            $roleDraft,
285
            $roleService->newPolicyCreateStruct('content', 'delete')
286
        );
287
288
        // Set "Editor" user as current user.
289
        $repository->setCurrentUser($user);
290
291
        // This call will fail with an "UnauthorizedException"
292
        $roleService->removePolicyByRoleDraft($roleDraft, $roleDraft->getPolicies()[0]);
293
        /* END: Use Case */
294
    }
295
296
    /**
297
     * Test for the deletePolicy() method.

eZ/Publish/API/Repository/Tests/RoleServiceTest.php 2 locations

@@ 1708-1739 (lines=32) @@
1705
     * @see \eZ\Publish\API\Repository\RoleService::removePolicyByRoleDraft()
1706
     * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testAddPolicyByRoleDraft
1707
     */
1708
    public function testRemovePolicyByRoleDraft()
1709
    {
1710
        $repository = $this->getRepository();
1711
1712
        /* BEGIN: Use Case */
1713
        $roleService = $repository->getRoleService();
1714
1715
        // Instantiate a new role create
1716
        $roleCreate = $roleService->newRoleCreateStruct('newRole');
1717
1718
        // @todo uncomment when support for multilingual names and descriptions is added EZP-24776
1719
        // $roleCreate->mainLanguageCode = 'eng-US';
1720
1721
        // Create a new role with two policies
1722
        $roleDraft = $roleService->createRole($roleCreate);
1723
        $roleService->addPolicyByRoleDraft(
1724
            $roleDraft,
1725
            $roleService->newPolicyCreateStruct('content', 'create')
1726
        );
1727
        $roleService->addPolicyByRoleDraft(
1728
            $roleDraft,
1729
            $roleService->newPolicyCreateStruct('content', 'delete')
1730
        );
1731
1732
        // Delete all policies from the new role
1733
        foreach ($roleDraft->getPolicies() as $policy) {
1734
            $roleDraft = $roleService->removePolicyByRoleDraft($roleDraft, $policy);
1735
        }
1736
        /* END: Use Case */
1737
1738
        $this->assertSame(array(), $roleDraft->getPolicies());
1739
    }
1740
1741
    /**
1742
     * Test for the deletePolicy() method.
@@ 2922-2951 (lines=30) @@
2919
     * @see \eZ\Publish\API\Repository\RoleService::publishRoleDraft()
2920
     * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testCreateRoleDraft
2921
     */
2922
    public function testPublishRoleDraft()
2923
    {
2924
        $repository = $this->getRepository();
2925
2926
        /* BEGIN: Use Case */
2927
        $roleService = $repository->getRoleService();
2928
        $roleCreate = $roleService->newRoleCreateStruct('newRole');
2929
2930
        // @todo uncomment when support for multilingual names and descriptions is added EZP-24776
2931
        // $roleCreate->mainLanguageCode = 'eng-US';
2932
2933
        $roleDraft = $roleService->createRole($roleCreate);
2934
2935
        $roleDraft = $roleService->addPolicyByRoleDraft(
2936
            $roleDraft,
2937
            $roleService->newPolicyCreateStruct('content', 'delete')
2938
        );
2939
        $roleDraft = $roleService->addPolicyByRoleDraft(
2940
            $roleDraft,
2941
            $roleService->newPolicyCreateStruct('content', 'create')
2942
        );
2943
2944
        $roleService->publishRoleDraft($roleDraft);
2945
        /* END: Use Case */
2946
2947
        $this->assertInstanceOf(
2948
            '\\eZ\\Publish\\API\\Repository\\Values\\User\\Role',
2949
            $roleService->loadRoleByIdentifier($roleCreate->identifier)
2950
        );
2951
    }
2952
2953
    /**
2954
     * Test for the publishRoleDraft() method.