Code Duplication    Length = 30-32 lines in 3 locations

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.

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

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