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.
@@ 2877-2906 (lines=30) @@
2874
     * @see \eZ\Publish\API\Repository\RoleService::publishRoleDraft()
2875
     * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testCreateRoleDraft
2876
     */
2877
    public function testPublishRoleDraft()
2878
    {
2879
        $repository = $this->getRepository();
2880
2881
        /* BEGIN: Use Case */
2882
        $roleService = $repository->getRoleService();
2883
        $roleCreate = $roleService->newRoleCreateStruct('newRole');
2884
2885
        // @todo uncomment when support for multilingual names and descriptions is added EZP-24776
2886
        // $roleCreate->mainLanguageCode = 'eng-US';
2887
2888
        $roleDraft = $roleService->createRole($roleCreate);
2889
2890
        $roleDraft = $roleService->addPolicyByRoleDraft(
2891
            $roleDraft,
2892
            $roleService->newPolicyCreateStruct('content', 'delete')
2893
        );
2894
        $roleDraft = $roleService->addPolicyByRoleDraft(
2895
            $roleDraft,
2896
            $roleService->newPolicyCreateStruct('content', 'create')
2897
        );
2898
2899
        $roleService->publishRoleDraft($roleDraft);
2900
        /* END: Use Case */
2901
2902
        $this->assertInstanceOf(
2903
            '\\eZ\\Publish\\API\\Repository\\Values\\User\\Role',
2904
            $roleService->loadRoleByIdentifier($roleCreate->identifier)
2905
        );
2906
    }
2907
2908
    /**
2909
     * Test for the publishRoleDraft() method.