ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
ilUserCertificateTableProviderTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22{
24 {
25 $database = $this->getMockBuilder(ilDBInterface::class)
26 ->disableOriginalConstructor()
27 ->getMock();
28
29 $database
30 ->expects($this->atLeastOnce())
31 ->method('quote');
32
33 $database->method('fetchAssoc')
34 ->willReturnOnConsecutiveCalls(
35 [
36 'id' => 600,
37 'obj_id' => 100,
38 'title' => 'CourseTest',
39 'obj_type' => 'crs',
40 'acquired_timestamp' => 1_539_867_618,
41 'tile_image_ident' => '-',
42 'description' => 'some description',
43 'firstname' => 'ilyas',
44 'lastname' => 'homer',
45 ],
46 null
47 );
48
49 $logger = $this->getMockBuilder(ilLogger::class)
50 ->disableOriginalConstructor()
51 ->getMock();
52
54 $database,
55 $logger,
56 'default_title'
57 );
58
59 $dataSet = $provider->fetchDataSet(100, ['language' => 'de'], []);
60
61 $expected = [];
62
63 $expected['items'][] = [
64 'id' => 600,
65 'title' => 'CourseTest',
66 'obj_id' => 100,
67 'obj_type' => 'crs',
68 'date' => 1_539_867_618,
69 'tile_image_ident' => '-',
70 'description' => 'some description',
71 'firstname' => 'ilyas',
72 'lastname' => 'homer',
73 ];
74
75 $expected['cnt'] = 1;
76
77 $this->assertSame($expected, $dataSet);
78 }
79
81 {
82 $database = $this->createMock(ilDBInterface::class);
83
84 $database
85 ->expects($this->atLeastOnce())
86 ->method('quote');
87
88 $database->method('fetchAssoc')
89 ->willReturnOnConsecutiveCalls(
90 [
91 'id' => 600,
92 'obj_id' => 100,
93 'title' => 'CourseTest',
94 'obj_type' => 'crs',
95 'acquired_timestamp' => 1_539_867_618,
96 'tile_image_ident' => '-',
97 'description' => 'some description',
98 'firstname' => 'ilyas',
99 'lastname' => 'homer',
100 ],
101 null,
102 [
103 'cnt' => 5,
104 ],
105 null
106 );
107
108 $logger = $this->getMockBuilder(ilLogger::class)
109 ->disableOriginalConstructor()
110 ->getMock();
111
113 $database,
114 $logger,
115 'default_title'
116 );
117
118 $dataSet = $provider->fetchDataSet(100, ['language' => 'de', 'limit' => 2], []);
119
120 $expected = [];
121
122 $expected['items'][] = [
123 'id' => 600,
124 'title' => 'CourseTest',
125 'obj_id' => 100,
126 'obj_type' => 'crs',
127 'date' => 1_539_867_618,
128 'tile_image_ident' => '-',
129 'description' => 'some description',
130 'firstname' => 'ilyas',
131 'lastname' => 'homer',
132 ];
133
134 $expected['cnt'] = 5;
135
136 $this->assertSame($expected, $dataSet);
137 }
138
140 {
141 $database = $this->createMock(ilDBInterface::class);
142
143 $database
144 ->expects($this->atLeastOnce())
145 ->method('quote');
146
147 $database->method('fetchAssoc')
148 ->willReturnOnConsecutiveCalls(
149 [
150 'id' => 600,
151 'obj_id' => 100,
152 'title' => 'CourseTest',
153 'obj_type' => 'crs',
154 'acquired_timestamp' => 1_539_867_618,
155 'tile_image_ident' => '-',
156 'description' => 'some description',
157 'firstname' => 'ilyas',
158 'lastname' => 'homer',
159 ],
160 null,
161 [
162 'cnt' => 5,
163 ],
164 null
165 );
166
167 $logger = $this->getMockBuilder(ilLogger::class)
168 ->disableOriginalConstructor()
169 ->getMock();
170
172 $database,
173 $logger,
174 'default_title'
175 );
176
177 $dataSet = $provider->fetchDataSet(
178 100,
179 ['language' => 'de', 'limit' => 2, 'order_field' => 'date'],
180 []
181 );
182
183 $expected = [];
184
185 $expected['items'][] = [
186 'id' => 600,
187 'title' => 'CourseTest',
188 'obj_id' => 100,
189 'obj_type' => 'crs',
190 'date' => 1_539_867_618,
191 'tile_image_ident' => '-',
192 'description' => 'some description',
193 'firstname' => 'ilyas',
194 'lastname' => 'homer',
195 ];
196
197 $expected['cnt'] = 5;
198
199 $this->assertSame($expected, $dataSet);
200 }
201
203 {
204 $this->expectException(InvalidArgumentException::class);
205
206 $database = $this->createMock(ilDBInterface::class);
207
208 $database
209 ->expects($this->atLeastOnce())
210 ->method('quote');
211
212 $database->method('fetchAssoc')
213 ->willReturnOnConsecutiveCalls(
214 [
215 'id' => 600,
216 'obj_id' => 100,
217 'title' => 'CourseTest',
218 'obj_type' => 'crs',
219 'acquired_timestamp' => 1_539_867_618
220 ],
221 null,
222 [
223 'cnt' => 5,
224 ],
225 null
226 );
227
228 $logger = $this->getMockBuilder(ilLogger::class)
229 ->disableOriginalConstructor()
230 ->getMock();
231
233 $database,
234 $logger,
235 'default_title'
236 );
237
238 $provider->fetchDataSet(
239 100,
240 ['language' => 'de', 'limit' => 2, 'order_field' => 'something'],
241 []
242 );
243
244 $this->fail('Should never happen');
245 }
246
248 {
249 $this->expectException(InvalidArgumentException::class);
250
251 $database = $this->createMock(ilDBInterface::class);
252
253 $database
254 ->expects($this->atLeastOnce())
255 ->method('quote');
256
257 $database->method('fetchAssoc')
258 ->willReturnOnConsecutiveCalls(
259 [
260 'id' => 600,
261 'obj_id' => 100,
262 'title' => 'CourseTest',
263 'obj_type' => 'crs',
264 'acquired_timestamp' => 1_539_867_618
265 ],
266 null,
267 [
268 'cnt' => 5,
269 ],
270 null
271 );
272
273 $logger = $this->getMockBuilder(ilLogger::class)
274 ->disableOriginalConstructor()
275 ->getMock();
276
278 $database,
279 $logger,
280 'default_title'
281 );
282
283 $provider->fetchDataSet(
284 100,
285 ['language' => 'de', 'limit' => 2, 'order_field' => false],
286 []
287 );
288
289 $this->fail('Should never happen');
290 }
291
293 {
294 $this->expectException(InvalidArgumentException::class);
295
296 $database = $this->createMock(ilDBInterface::class);
297
298 $database
299 ->expects($this->atLeastOnce())
300 ->method('quote');
301
302 $database->method('fetchAssoc')
303 ->willReturnOnConsecutiveCalls(
304 [
305 'id' => 600,
306 'obj_id' => 100,
307 'title' => 'CourseTest',
308 'obj_type' => 'crs',
309 'acquired_timestamp' => 1_539_867_618
310 ],
311 null,
312 [
313 'cnt' => 5,
314 ],
315 null
316 );
317
318 $logger = $this->getMockBuilder(ilLogger::class)
319 ->disableOriginalConstructor()
320 ->getMock();
321
323 $database,
324 $logger,
325 'default_title'
326 );
327
328 $provider->fetchDataSet(
329 600,
330 [
331 'language' => 'de',
332 'limit' => 2,
333 'order_field' => 'date',
334 'order_direction' => 'mac'
335 ],
336 []
337 );
338
339 $this->fail('Should never happen');
340 }
341
343 {
344 $this->expectException(InvalidArgumentException::class);
345
346 $database = $this->createMock(ilDBInterface::class);
347
348 $database
349 ->expects($this->atLeastOnce())
350 ->method('quote');
351
352 $database->method('fetchAssoc')
353 ->willReturnOnConsecutiveCalls(
354 [
355 'id' => 600,
356 'obj_id' => 100,
357 'title' => 'CourseTest',
358 'obj_type' => 'crs',
359 'acquired_timestamp' => 1_539_867_618
360 ],
361 null,
362 [
363 'cnt' => 5,
364 ],
365 null
366 );
367
368 $logger = $this->getMockBuilder(ilLogger::class)
369 ->disableOriginalConstructor()
370 ->getMock();
371
373 $database,
374 $logger,
375 'default_title'
376 );
377
378 $provider->fetchDataSet(
379 600,
380 [
381 'language' => 'de',
382 'limit' => 'something',
383 'order_field' => 'date',
384 'order_direction' => 'mac'
385 ],
386 []
387 );
388
389 $this->fail('Should never happen');
390 }
391
393 {
394 $this->expectException(InvalidArgumentException::class);
395
396 $database = $this->createMock(ilDBInterface::class);
397
398 $database
399 ->expects($this->atLeastOnce())
400 ->method('quote');
401
402 $database->method('fetchAssoc')
403 ->willReturnOnConsecutiveCalls(
404 [
405 'id' => 600,
406 'obj_id' => 100,
407 'title' => 'CourseTest',
408 'obj_type' => 'crs',
409 'acquired_timestamp' => 1_539_867_618
410 ],
411 null,
412 [
413 'cnt' => 5,
414 ],
415 null
416 );
417
418 $logger = $this->getMockBuilder(ilLogger::class)
419 ->disableOriginalConstructor()
420 ->getMock();
421
423 $database,
424 $logger,
425 'default_title'
426 );
427
428 $provider->fetchDataSet(
429 600,
430 [
431 'limit' => 3,
432 'language' => 'de',
433 'order_field' => 'date',
434 'order_direction' => 'mac',
435 'offset' => 'something'
436 ],
437 []
438 );
439
440 $this->fail('Should never happen');
441 }
442}
$provider
Definition: ltitoken.php:80