Code Duplication    Length = 30-30 lines in 2 locations

eZ/Publish/Core/Repository/Tests/Service/Mock/PermissionTest.php 2 locations

@@ 104-133 (lines=30) @@
101
     *
102
     * @dataProvider providerForTestHasAccessReturnsTrue
103
     */
104
    public function testHasAccessReturnsTrue(array $roles, array $roleAssignments)
105
    {
106
        /** @var $userHandlerMock \PHPUnit\Framework\MockObject\MockObject */
107
        $userHandlerMock = $this->getPersistenceMock()->userHandler();
108
        $userReferenceMock = $this->getUserReferenceMock();
109
        $mockedService = $this->getPermissionResolverMock(null);
110
111
        $userReferenceMock
112
            ->expects($this->once())
113
            ->method('getUserId')
114
            ->will($this->returnValue(10));
115
116
        $userHandlerMock
117
            ->expects($this->once())
118
            ->method('loadRoleAssignmentsByGroupId')
119
            ->with($this->equalTo(10), $this->equalTo(true))
120
            ->will($this->returnValue($roleAssignments));
121
122
        foreach ($roleAssignments as $at => $roleAssignment) {
123
            $userHandlerMock
124
                ->expects($this->at($at + 1))
125
                ->method('loadRole')
126
                ->with($roleAssignment->roleId)
127
                ->will($this->returnValue($roles[$roleAssignment->roleId]));
128
        }
129
130
        $result = $mockedService->hasAccess('dummy-module', 'dummy-function');
131
132
        self::assertEquals(true, $result);
133
    }
134
135
    public function providerForTestHasAccessReturnsFalse()
136
    {
@@ 181-210 (lines=30) @@
178
     *
179
     * @dataProvider providerForTestHasAccessReturnsFalse
180
     */
181
    public function testHasAccessReturnsFalse(array $roles, array $roleAssignments)
182
    {
183
        /** @var $userHandlerMock \PHPUnit\Framework\MockObject\MockObject */
184
        $userHandlerMock = $this->getPersistenceMock()->userHandler();
185
        $userReferenceMock = $this->getUserReferenceMock();
186
        $service = $this->getPermissionResolverMock(null);
187
188
        $userReferenceMock
189
            ->expects($this->once())
190
            ->method('getUserId')
191
            ->will($this->returnValue(10));
192
193
        $userHandlerMock
194
            ->expects($this->once())
195
            ->method('loadRoleAssignmentsByGroupId')
196
            ->with($this->equalTo(10), $this->equalTo(true))
197
            ->will($this->returnValue($roleAssignments));
198
199
        foreach ($roleAssignments as $at => $roleAssignment) {
200
            $userHandlerMock
201
                ->expects($this->at($at + 1))
202
                ->method('loadRole')
203
                ->with($roleAssignment->roleId)
204
                ->will($this->returnValue($roles[$roleAssignment->roleId]));
205
        }
206
207
        $result = $service->hasAccess('dummy-module2', 'dummy-function2');
208
209
        self::assertEquals(false, $result);
210
    }
211
212
    /**
213
     * Test for the sudo() & hasAccess() method.