19 declare(strict_types=1);
25 $database = $this->getMockBuilder(ilDBInterface::class)
26 ->disableOriginalConstructor()
30 ->expects($this->atLeastOnce())
33 $database->method(
'fetchAssoc')
34 ->willReturnOnConsecutiveCalls(
38 'title' =>
'CourseTest',
40 'acquired_timestamp' => 1_539_867_618,
41 'tile_image_path' =>
'some/path/test.svg',
42 'tile_image_ident' =>
'-',
43 'description' =>
'some description',
44 'firstname' =>
'ilyas',
45 'lastname' =>
'homer',
50 $logger = $this->getMockBuilder(ilLogger::class)
51 ->disableOriginalConstructor()
60 $dataSet =
$provider->fetchDataSet(100, [
'language' =>
'de'], []);
64 $expected[
'items'][] = [
66 'title' =>
'CourseTest',
69 'date' => 1_539_867_618,
70 'tile_image_path' =>
'some/path/test.svg',
71 'tile_image_ident' =>
'-',
72 'description' =>
'some description',
73 'firstname' =>
'ilyas',
74 'lastname' =>
'homer',
79 $this->assertSame($expected, $dataSet);
84 $database = $this->createMock(ilDBInterface::class);
87 ->expects($this->atLeastOnce())
90 $database->method(
'fetchAssoc')
91 ->willReturnOnConsecutiveCalls(
95 'title' =>
'CourseTest',
97 'acquired_timestamp' => 1_539_867_618,
98 'tile_image_path' =>
'some/path/test.svg',
99 'tile_image_ident' =>
'-',
100 'description' =>
'some description',
101 'firstname' =>
'ilyas',
102 'lastname' =>
'homer',
111 $logger = $this->getMockBuilder(ilLogger::class)
112 ->disableOriginalConstructor()
121 $dataSet =
$provider->fetchDataSet(100, [
'language' =>
'de',
'limit' => 2], []);
125 $expected[
'items'][] = [
127 'title' =>
'CourseTest',
130 'date' => 1_539_867_618,
131 'tile_image_path' =>
'some/path/test.svg',
132 'tile_image_ident' =>
'-',
133 'description' =>
'some description',
134 'firstname' =>
'ilyas',
135 'lastname' =>
'homer',
138 $expected[
'cnt'] = 5;
140 $this->assertSame($expected, $dataSet);
145 $database = $this->createMock(ilDBInterface::class);
148 ->expects($this->atLeastOnce())
151 $database->method(
'fetchAssoc')
152 ->willReturnOnConsecutiveCalls(
156 'title' =>
'CourseTest',
158 'acquired_timestamp' => 1_539_867_618,
159 'tile_image_path' =>
'some/path/test.svg',
160 'tile_image_ident' =>
'-',
161 'description' =>
'some description',
162 'firstname' =>
'ilyas',
163 'lastname' =>
'homer',
172 $logger = $this->getMockBuilder(ilLogger::class)
173 ->disableOriginalConstructor()
184 [
'language' =>
'de',
'limit' => 2,
'order_field' =>
'date'],
190 $expected[
'items'][] = [
192 'title' =>
'CourseTest',
195 'date' => 1_539_867_618,
196 'tile_image_path' =>
'some/path/test.svg',
197 'tile_image_ident' =>
'-',
198 'description' =>
'some description',
199 'firstname' =>
'ilyas',
200 'lastname' =>
'homer',
203 $expected[
'cnt'] = 5;
205 $this->assertSame($expected, $dataSet);
210 $this->expectException(InvalidArgumentException::class);
212 $database = $this->createMock(ilDBInterface::class);
215 ->expects($this->atLeastOnce())
218 $database->method(
'fetchAssoc')
219 ->willReturnOnConsecutiveCalls(
223 'title' =>
'CourseTest',
225 'acquired_timestamp' => 1_539_867_618
234 $logger = $this->getMockBuilder(ilLogger::class)
235 ->disableOriginalConstructor()
246 [
'language' =>
'de',
'limit' => 2,
'order_field' =>
'something'],
250 $this->fail(
'Should never happen');
255 $this->expectException(InvalidArgumentException::class);
257 $database = $this->createMock(ilDBInterface::class);
260 ->expects($this->atLeastOnce())
263 $database->method(
'fetchAssoc')
264 ->willReturnOnConsecutiveCalls(
268 'title' =>
'CourseTest',
270 'acquired_timestamp' => 1_539_867_618
279 $logger = $this->getMockBuilder(ilLogger::class)
280 ->disableOriginalConstructor()
291 [
'language' =>
'de',
'limit' => 2,
'order_field' =>
false],
295 $this->fail(
'Should never happen');
300 $this->expectException(InvalidArgumentException::class);
302 $database = $this->createMock(ilDBInterface::class);
305 ->expects($this->atLeastOnce())
308 $database->method(
'fetchAssoc')
309 ->willReturnOnConsecutiveCalls(
313 'title' =>
'CourseTest',
315 'acquired_timestamp' => 1_539_867_618
324 $logger = $this->getMockBuilder(ilLogger::class)
325 ->disableOriginalConstructor()
339 'order_field' =>
'date',
340 'order_direction' =>
'mac' 345 $this->fail(
'Should never happen');
350 $this->expectException(InvalidArgumentException::class);
352 $database = $this->createMock(ilDBInterface::class);
355 ->expects($this->atLeastOnce())
358 $database->method(
'fetchAssoc')
359 ->willReturnOnConsecutiveCalls(
363 'title' =>
'CourseTest',
365 'acquired_timestamp' => 1_539_867_618
374 $logger = $this->getMockBuilder(ilLogger::class)
375 ->disableOriginalConstructor()
388 'limit' =>
'something',
389 'order_field' =>
'date',
390 'order_direction' =>
'mac' 395 $this->fail(
'Should never happen');
400 $this->expectException(InvalidArgumentException::class);
402 $database = $this->createMock(ilDBInterface::class);
405 ->expects($this->atLeastOnce())
408 $database->method(
'fetchAssoc')
409 ->willReturnOnConsecutiveCalls(
413 'title' =>
'CourseTest',
415 'acquired_timestamp' => 1_539_867_618
424 $logger = $this->getMockBuilder(ilLogger::class)
425 ->disableOriginalConstructor()
439 'order_field' =>
'date',
440 'order_direction' =>
'mac',
441 'offset' =>
'something' 446 $this->fail(
'Should never happen');
testFetchingDataWithInvalidOrderFieldWillResultInException()
testFetchingDataWithWrongOrderDirectionWillResultInException()
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
testFetchingDataWithInvalidOffsetParameterWillResultInException()
testFetchingDataSetForTableWithOrderFieldDate()
testFetchingDataSetForTableWithLimitParameterAndWithoutFilters()
testFetchingDataWithInvalidLimitParameterWillResultInException()
testFetchingDataSetForTableWithoutParamtersAndWithoutFilters()
testFetchingDataWithEmptyOrderFieldWillResultInException()