Code Duplication    Length = 30-30 lines in 2 locations

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

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