Code Duplication    Length = 30-32 lines in 3 locations

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([], $roleDraft->getPolicies());
1739
    }
1740
1741
    /**
1742
     * Test for the deletePolicy() method.
@@ 2930-2959 (lines=30) @@
2927
     * @see \eZ\Publish\API\Repository\RoleService::publishRoleDraft()
2928
     * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testCreateRoleDraft
2929
     */
2930
    public function testPublishRoleDraft()
2931
    {
2932
        $repository = $this->getRepository();
2933
2934
        /* BEGIN: Use Case */
2935
        $roleService = $repository->getRoleService();
2936
        $roleCreate = $roleService->newRoleCreateStruct('newRole');
2937
2938
        // @todo uncomment when support for multilingual names and descriptions is added EZP-24776
2939
        // $roleCreate->mainLanguageCode = 'eng-US';
2940
2941
        $roleDraft = $roleService->createRole($roleCreate);
2942
2943
        $roleDraft = $roleService->addPolicyByRoleDraft(
2944
            $roleDraft,
2945
            $roleService->newPolicyCreateStruct('content', 'delete')
2946
        );
2947
        $roleDraft = $roleService->addPolicyByRoleDraft(
2948
            $roleDraft,
2949
            $roleService->newPolicyCreateStruct('content', 'create')
2950
        );
2951
2952
        $roleService->publishRoleDraft($roleDraft);
2953
        /* END: Use Case */
2954
2955
        $this->assertInstanceOf(
2956
            '\\eZ\\Publish\\API\\Repository\\Values\\User\\Role',
2957
            $roleService->loadRoleByIdentifier($roleCreate->identifier)
2958
        );
2959
    }
2960
2961
    /**
2962
     * Test for the publishRoleDraft() method.

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

@@ 290-320 (lines=31) @@
287
     * @depends eZ\Publish\API\Repository\Tests\RoleServiceTest::testRemovePolicyByRoleDraft
288
     * @depends eZ\Publish\API\Repository\Tests\UserServiceTest::testCreateUser
289
     */
290
    public function testRemovePolicyThrowsUnauthorizedException()
291
    {
292
        $repository = $this->getRepository();
293
        $roleService = $repository->getRoleService();
294
295
        /* BEGIN: Use Case */
296
        $user = $this->createUserVersion1();
297
298
        $roleCreate = $roleService->newRoleCreateStruct('newRole');
299
300
        // @todo uncomment when support for multilingual names and descriptions is added EZP-24776
301
        // $roleCreate->mainLanguageCode = 'eng-US';
302
303
        // Create a new role with two policies
304
        $roleDraft = $roleService->createRole($roleCreate);
305
        $roleService->addPolicyByRoleDraft(
306
            $roleDraft,
307
            $roleService->newPolicyCreateStruct('content', 'create')
308
        );
309
        $roleDraft = $roleService->addPolicyByRoleDraft(
310
            $roleDraft,
311
            $roleService->newPolicyCreateStruct('content', 'delete')
312
        );
313
314
        // Set "Editor" user as current user.
315
        $repository->setCurrentUser($user);
316
317
        // This call will fail with an "UnauthorizedException"
318
        $roleService->removePolicyByRoleDraft($roleDraft, $roleDraft->getPolicies()[0]);
319
        /* END: Use Case */
320
    }
321
322
    /**
323
     * Test for the deletePolicy() method.