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.
@@ 2847-2876 (lines=30) @@
2844
     * @see \eZ\Publish\API\Repository\RoleService::publishRoleDraft()
2845
     * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testCreateRoleDraft
2846
     */
2847
    public function testPublishRoleDraft()
2848
    {
2849
        $repository = $this->getRepository();
2850
2851
        /* BEGIN: Use Case */
2852
        $roleService = $repository->getRoleService();
2853
        $roleCreate = $roleService->newRoleCreateStruct('newRole');
2854
2855
        // @todo uncomment when support for multilingual names and descriptions is added EZP-24776
2856
        // $roleCreate->mainLanguageCode = 'eng-US';
2857
2858
        $roleDraft = $roleService->createRole($roleCreate);
2859
2860
        $roleDraft = $roleService->addPolicyByRoleDraft(
2861
            $roleDraft,
2862
            $roleService->newPolicyCreateStruct('content', 'delete')
2863
        );
2864
        $roleDraft = $roleService->addPolicyByRoleDraft(
2865
            $roleDraft,
2866
            $roleService->newPolicyCreateStruct('content', 'create')
2867
        );
2868
2869
        $roleService->publishRoleDraft($roleDraft);
2870
        /* END: Use Case */
2871
2872
        $this->assertInstanceOf(
2873
            '\\eZ\\Publish\\API\\Repository\\Values\\User\\Role',
2874
            $roleService->loadRoleByIdentifier($roleCreate->identifier)
2875
        );
2876
    }
2877
2878
    /**
2879
     * Test for the publishRoleDraft() method.