Completed
Push — siteaccessaware-layer-only ( 7e91dd...edaec2 )
by André
56:17 queued 37:14
created

RoleServiceTest::providerForPassTroughMethods()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 57
Code Lines 48

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 48
nc 1
nop 0
dl 0
loc 57
rs 9.6818
c 0
b 0
f 0

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
namespace eZ\Publish\Core\Repository\SiteAccessAware\Tests;
4
5
use eZ\Publish\API\Repository\RoleService as APIService;
6
use eZ\Publish\API\Repository\Values\User\Limitation\SubtreeLimitation;
7
use eZ\Publish\API\Repository\Values\User\RoleUpdateStruct;
8
use eZ\Publish\Core\Repository\SiteAccessAware\RoleService;
9
use eZ\Publish\Core\Repository\Values\User\Policy;
10
use eZ\Publish\Core\Repository\Values\User\PolicyCreateStruct;
11
use eZ\Publish\Core\Repository\Values\User\PolicyDraft;
12
use eZ\Publish\Core\Repository\Values\User\PolicyUpdateStruct;
13
use eZ\Publish\Core\Repository\Values\User\Role;
14
use eZ\Publish\Core\Repository\Values\User\RoleCreateStruct;
15
use eZ\Publish\Core\Repository\Values\User\RoleDraft;
16
use eZ\Publish\Core\Repository\Values\User\User;
17
use eZ\Publish\Core\Repository\Values\User\UserGroup;
18
use eZ\Publish\Core\Repository\Values\User\UserRoleAssignment;
19
20
class RoleServiceTest extends AbstractServiceTest
21
{
22
    public function getAPIServiceClassName()
23
    {
24
        return APIService::class;
25
    }
26
27
    public function getSiteAccessAwareServiceClassName()
28
    {
29
        return RoleService::class;
30
    }
31
32
    public function providerForPassTroughMethods()
33
    {
34
        $roleCreateStruct = new RoleCreateStruct();
35
        $roleUpdateStruct = new RoleUpdateStruct();
36
        $role = new Role();
37
        $roleDraft = new RoleDraft();
38
39
        $policyCreateStruct = new PolicyCreateStruct();
40
        $policyUpdateStruct = new PolicyUpdateStruct();
41
        $policyDraft = new PolicyDraft();
42
        $policy = new Policy();
43
44
        $roleLimitation = new SubtreeLimitation();
45
46
        $userGroup = new UserGroup();
47
        $user = new User();
48
49
        $roleAssignment = new UserRoleAssignment();
50
51
        // string $method, array $arguments, bool $return = true
52
        return [
53
            ['createRole', [$roleCreateStruct]],
54
            ['createRoleDraft', [$role]],
55
            ['loadRoleDraft', [24]],
56
            ['loadRoleDraftByRoleId', [24]],
57
            ['updateRoleDraft', [$roleDraft, $roleUpdateStruct]],
58
            ['addPolicyByRoleDraft', [$roleDraft, $policyCreateStruct]],
59
            ['removePolicyByRoleDraft', [$roleDraft, $policyDraft]],
60
            ['updatePolicyByRoleDraft', [$roleDraft, $policyDraft, $policyUpdateStruct]],
61
            ['deleteRoleDraft', [$roleDraft]],
62
            ['publishRoleDraft', [$roleDraft]],
63
            ['updateRole', [$role, $roleUpdateStruct]],
64
            ['addPolicy', [$role, $policyCreateStruct]],
65
            ['deletePolicy', [$policy]],
66
            ['updatePolicy', [$policy, $policyUpdateStruct]],
67
            ['loadRole', [24]],
68
            ['loadRoleByIdentifier', ['admin']],
69
            ['loadRoles', []],
70
            ['deleteRole', [$role]],
71
            ['loadPoliciesByUserId', [10]],
72
            ['assignRoleToUserGroup', [$role, $userGroup, $roleLimitation]],
73
            ['unassignRoleFromUserGroup', [$role, $userGroup]],
74
            ['assignRoleToUser', [$role, $user, $roleLimitation]],
75
            ['unassignRoleFromUser', [$role, $user]],
76
            ['removeRoleAssignment', [$roleAssignment]],
77
            ['loadRoleAssignment', [55]],
78
            ['getRoleAssignments', [$role]],
79
            ['getRoleAssignmentsForUser', [$user, true]],
80
            ['getRoleAssignmentsForUserGroup', [$userGroup]],
81
            ['newRoleCreateStruct', ['Editor']],
82
            ['newPolicyCreateStruct', ['content', 'edit']],
83
            ['newPolicyUpdateStruct', []],
84
            ['newRoleUpdateStruct', []],
85
            ['getLimitationType', ['subtree']],
86
            ['getLimitationTypesByModuleFunction', ['content', 'edit']],
87
        ];
88
    }
89
90
    public function providerForLanguagesLookupMethods()
91
    {
92
        // string $method, array $arguments, bool $return, int $languageArgumentIndex
93
        return [];
94
    }
95
}
96