Code Duplication    Length = 30-30 lines in 2 locations

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

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