19declare(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_ident' =>
'-',
42 'description' =>
'some description',
43 'firstname' =>
'ilyas',
44 'lastname' =>
'homer',
49 $logger = $this->getMockBuilder(ilLogger::class)
50 ->disableOriginalConstructor()
59 $dataSet =
$provider->fetchDataSet(100, [
'language' =>
'de'], []);
63 $expected[
'items'][] = [
65 'title' =>
'CourseTest',
68 'date' => 1_539_867_618,
69 'tile_image_ident' =>
'-',
70 'description' =>
'some description',
71 'firstname' =>
'ilyas',
72 'lastname' =>
'homer',
77 $this->assertSame($expected, $dataSet);
82 $database = $this->createMock(ilDBInterface::class);
85 ->expects($this->atLeastOnce())
88 $database->method(
'fetchAssoc')
89 ->willReturnOnConsecutiveCalls(
93 'title' =>
'CourseTest',
95 'acquired_timestamp' => 1_539_867_618,
96 'tile_image_ident' =>
'-',
97 'description' =>
'some description',
98 'firstname' =>
'ilyas',
99 'lastname' =>
'homer',
108 $logger = $this->getMockBuilder(ilLogger::class)
109 ->disableOriginalConstructor()
118 $dataSet =
$provider->fetchDataSet(100, [
'language' =>
'de',
'limit' => 2], []);
122 $expected[
'items'][] = [
124 'title' =>
'CourseTest',
127 'date' => 1_539_867_618,
128 'tile_image_ident' =>
'-',
129 'description' =>
'some description',
130 'firstname' =>
'ilyas',
131 'lastname' =>
'homer',
134 $expected[
'cnt'] = 5;
136 $this->assertSame($expected, $dataSet);
141 $database = $this->createMock(ilDBInterface::class);
144 ->expects($this->atLeastOnce())
147 $database->method(
'fetchAssoc')
148 ->willReturnOnConsecutiveCalls(
152 'title' =>
'CourseTest',
154 'acquired_timestamp' => 1_539_867_618,
155 'tile_image_ident' =>
'-',
156 'description' =>
'some description',
157 'firstname' =>
'ilyas',
158 'lastname' =>
'homer',
167 $logger = $this->getMockBuilder(ilLogger::class)
168 ->disableOriginalConstructor()
179 [
'language' =>
'de',
'limit' => 2,
'order_field' =>
'date'],
185 $expected[
'items'][] = [
187 'title' =>
'CourseTest',
190 'date' => 1_539_867_618,
191 'tile_image_ident' =>
'-',
192 'description' =>
'some description',
193 'firstname' =>
'ilyas',
194 'lastname' =>
'homer',
197 $expected[
'cnt'] = 5;
199 $this->assertSame($expected, $dataSet);
204 $this->expectException(InvalidArgumentException::class);
206 $database = $this->createMock(ilDBInterface::class);
209 ->expects($this->atLeastOnce())
212 $database->method(
'fetchAssoc')
213 ->willReturnOnConsecutiveCalls(
217 'title' =>
'CourseTest',
219 'acquired_timestamp' => 1_539_867_618
228 $logger = $this->getMockBuilder(ilLogger::class)
229 ->disableOriginalConstructor()
240 [
'language' =>
'de',
'limit' => 2,
'order_field' =>
'something'],
244 $this->fail(
'Should never happen');
249 $this->expectException(InvalidArgumentException::class);
251 $database = $this->createMock(ilDBInterface::class);
254 ->expects($this->atLeastOnce())
257 $database->method(
'fetchAssoc')
258 ->willReturnOnConsecutiveCalls(
262 'title' =>
'CourseTest',
264 'acquired_timestamp' => 1_539_867_618
273 $logger = $this->getMockBuilder(ilLogger::class)
274 ->disableOriginalConstructor()
285 [
'language' =>
'de',
'limit' => 2,
'order_field' =>
false],
289 $this->fail(
'Should never happen');
294 $this->expectException(InvalidArgumentException::class);
296 $database = $this->createMock(ilDBInterface::class);
299 ->expects($this->atLeastOnce())
302 $database->method(
'fetchAssoc')
303 ->willReturnOnConsecutiveCalls(
307 'title' =>
'CourseTest',
309 'acquired_timestamp' => 1_539_867_618
318 $logger = $this->getMockBuilder(ilLogger::class)
319 ->disableOriginalConstructor()
333 'order_field' =>
'date',
334 'order_direction' =>
'mac'
339 $this->fail(
'Should never happen');
344 $this->expectException(InvalidArgumentException::class);
346 $database = $this->createMock(ilDBInterface::class);
349 ->expects($this->atLeastOnce())
352 $database->method(
'fetchAssoc')
353 ->willReturnOnConsecutiveCalls(
357 'title' =>
'CourseTest',
359 'acquired_timestamp' => 1_539_867_618
368 $logger = $this->getMockBuilder(ilLogger::class)
369 ->disableOriginalConstructor()
382 'limit' =>
'something',
383 'order_field' =>
'date',
384 'order_direction' =>
'mac'
389 $this->fail(
'Should never happen');
394 $this->expectException(InvalidArgumentException::class);
396 $database = $this->createMock(ilDBInterface::class);
399 ->expects($this->atLeastOnce())
402 $database->method(
'fetchAssoc')
403 ->willReturnOnConsecutiveCalls(
407 'title' =>
'CourseTest',
409 'acquired_timestamp' => 1_539_867_618
418 $logger = $this->getMockBuilder(ilLogger::class)
419 ->disableOriginalConstructor()
433 'order_field' =>
'date',
434 'order_direction' =>
'mac',
435 'offset' =>
'something'
440 $this->fail(
'Should never happen');
testFetchingDataWithInvalidOffsetParameterWillResultInException()
testFetchingDataWithEmptyOrderFieldWillResultInException()
testFetchingDataSetForTableWithoutParamtersAndWithoutFilters()
testFetchingDataWithInvalidOrderFieldWillResultInException()
testFetchingDataSetForTableWithOrderFieldDate()
testFetchingDataSetForTableWithLimitParameterAndWithoutFilters()
testFetchingDataWithInvalidLimitParameterWillResultInException()
testFetchingDataWithWrongOrderDirectionWillResultInException()