ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilUserCertificateTableProviderTest.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3
8{
10 {
11 $database = $this->getMockBuilder('ilDBInterface')
12 ->disableOriginalConstructor()
13 ->getMock();
14
15 $database
16 ->expects($this->atLeastOnce())
17 ->method('quote');
18
19 $database->method('fetchAssoc')
20 ->willReturnOnConsecutiveCalls(
21 array(
22 'id' => 600,
23 'obj_id' => 100,
24 'title' => 'CourseTest',
25 'obj_type' => 'crs',
26 'acquired_timestamp' => 1539867618,
27 'thumbnail_image_path' => 'some/path/test.svg',
28 'description' => 'some description',
29 'firstname' => 'ilyas',
30 'lastname' => 'homer',
31 ),
32 null
33 );
34
35 $logger = $this->getMockBuilder('ilLogger')
36 ->disableOriginalConstructor()
37 ->getMock();
38
39 $controller = $this->getMockBuilder('ilCtrl')
40 ->getMock();
41
42 $controller->method('getLinkTargetByClass')
43 ->willReturn('something');
44
45 $objectMock = $this->getMockBuilder('ilObject')
46 ->disableOriginalConstructor()
47 ->getMock();
48
49 $objectMock->method('getTitle')
50 ->willReturn('CourseTest');
51
52 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
53 ->disableOriginalConstructor()
54 ->getMock();
55
56 $objectHelper->method('getInstanceByObjId')
57 ->willReturn($objectMock);
58
59 $provider = new ilUserCertificateTableProvider(
60 $database,
61 $logger,
62 $controller,
63 'default_title',
64 $objectHelper
65 );
66
67 $dataSet = $provider->fetchDataSet(100, array('language' => 'de'), array());
68
69 $expected = array();
70
71 $expected['items'][] = array(
72 'id' => 600,
73 'title' => 'CourseTest',
74 'obj_id' => 100,
75 'obj_type' => 'crs',
76 'date' => 1539867618,
77 'thumbnail_image_path' => 'some/path/test.svg',
78 'description' => 'some description',
79 'firstname' => 'ilyas',
80 'lastname' => 'homer',
81 );
82
83 $expected['cnt'] = 1;
84
85 $this->assertEquals($expected, $dataSet);
86 }
87
89 {
90 $database = $this->getMockBuilder('ilDBInterface')
91 ->disableOriginalConstructor()
92 ->getMock();
93
94 $database
95 ->expects($this->atLeastOnce())
96 ->method('quote');
97
98 $database->method('fetchAssoc')
99 ->willReturnOnConsecutiveCalls(
100 array(
101 'id' => 600,
102 'obj_id' => 100,
103 'title' => 'CourseTest',
104 'obj_type' => 'crs',
105 'acquired_timestamp' => 1539867618,
106 'thumbnail_image_path' => 'some/path/test.svg',
107 'description' => 'some description',
108 'firstname' => 'ilyas',
109 'lastname' => 'homer',
110 ),
111 null,
112 array(
113 'cnt' => 5,
114 ),
115 null
116 );
117
118 $logger = $this->getMockBuilder('ilLogger')
119 ->disableOriginalConstructor()
120 ->getMock();
121
122 $controller = $this->getMockBuilder('ilCtrl')
123 ->getMock();
124
125 $controller->method('getLinkTargetByClass')
126 ->willReturn('something');
127
128 $objectMock = $this->getMockBuilder('ilObject')
129 ->disableOriginalConstructor()
130 ->getMock();
131
132 $objectMock->method('getTitle')
133 ->willReturn('CourseTest');
134
135 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
136 ->disableOriginalConstructor()
137 ->getMock();
138
139 $objectHelper->method('getInstanceByObjId')
140 ->willReturn($objectMock);
141
142 $provider = new ilUserCertificateTableProvider(
143 $database,
144 $logger,
145 $controller,
146 'default_title',
147 $objectHelper
148 );
149
150 $dataSet = $provider->fetchDataSet(100, array('language' => 'de', 'limit' => 2), array());
151
152 $expected = array();
153
154 $expected['items'][] = array(
155 'id' => 600,
156 'title' => 'CourseTest',
157 'obj_id' => 100,
158 'obj_type' => 'crs',
159 'date' => 1539867618,
160 'thumbnail_image_path' => 'some/path/test.svg',
161 'description' => 'some description',
162 'firstname' => 'ilyas',
163 'lastname' => 'homer',
164 );
165
166 $expected['cnt'] = 5;
167
168 $this->assertEquals($expected, $dataSet);
169 }
170
172 {
173 $database = $this->getMockBuilder('ilDBInterface')
174 ->disableOriginalConstructor()
175 ->getMock();
176
177 $database
178 ->expects($this->atLeastOnce())
179 ->method('quote');
180
181 $database->method('fetchAssoc')
182 ->willReturnOnConsecutiveCalls(
183 array(
184 'id' => 600,
185 'obj_id' => 100,
186 'title' => 'CourseTest',
187 'obj_type' => 'crs',
188 'acquired_timestamp' => 1539867618,
189 'thumbnail_image_path' => 'some/path/test.svg',
190 'description' => 'some description',
191 'firstname' => 'ilyas',
192 'lastname' => 'homer',
193 ),
194 null,
195 array(
196 'cnt' => 5,
197 ),
198 null
199 );
200
201 $logger = $this->getMockBuilder('ilLogger')
202 ->disableOriginalConstructor()
203 ->getMock();
204
205 $controller = $this->getMockBuilder('ilCtrl')
206 ->getMock();
207
208 $controller->method('getLinkTargetByClass')
209 ->willReturn('something');
210
211 $objectMock = $this->getMockBuilder('ilObject')
212 ->disableOriginalConstructor()
213 ->getMock();
214
215 $objectMock->method('getTitle')
216 ->willReturn('CourseTest');
217
218 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
219 ->disableOriginalConstructor()
220 ->getMock();
221
222 $objectHelper->method('getInstanceByObjId')
223 ->willReturn($objectMock);
224
225 $provider = new ilUserCertificateTableProvider(
226 $database,
227 $logger,
228 $controller,
229 'default_title',
230 $objectHelper
231 );
232
233 $dataSet = $provider->fetchDataSet(
234 100,
235 array('language' => 'de', 'limit' => 2, 'order_field' => 'date'),
236 array()
237 );
238
239 $expected = array();
240
241 $expected['items'][] = array(
242 'id' => 600,
243 'title' => 'CourseTest',
244 'obj_id' => 100,
245 'obj_type' => 'crs',
246 'date' => 1539867618,
247 'thumbnail_image_path' => 'some/path/test.svg',
248 'description' => 'some description',
249 'firstname' => 'ilyas',
250 'lastname' => 'homer',
251 );
252
253 $expected['cnt'] = 5;
254
255 $this->assertEquals($expected, $dataSet);
256 }
257
262 {
263 $this->expectException(\InvalidArgumentException::class);
264
265 $database = $this->getMockBuilder('ilDBInterface')
266 ->disableOriginalConstructor()
267 ->getMock();
268
269 $database
270 ->expects($this->atLeastOnce())
271 ->method('quote');
272
273 $database->method('fetchAssoc')
274 ->willReturnOnConsecutiveCalls(
275 array(
276 'id' => 600,
277 'obj_id' => 100,
278 'title' => 'CourseTest',
279 'obj_type' => 'crs',
280 'acquired_timestamp' => 1539867618
281 ),
282 null,
283 array(
284 'cnt' => 5,
285 ),
286 null
287 );
288
289 $logger = $this->getMockBuilder('ilLogger')
290 ->disableOriginalConstructor()
291 ->getMock();
292
293 $controller = $this->getMockBuilder('ilCtrl')
294 ->getMock();
295
296 $controller->method('getLinkTargetByClass')
297 ->willReturn('something');
298
299 $objectMock = $this->getMockBuilder('ilObject')
300 ->disableOriginalConstructor()
301 ->getMock();
302
303 $objectMock->method('getTitle')
304 ->willReturn('CourseTest');
305
306 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
307 ->disableOriginalConstructor()
308 ->getMock();
309
310 $objectHelper->method('getInstanceByObjId')
311 ->willReturn($objectMock);
312
313 $provider = new ilUserCertificateTableProvider(
314 $database,
315 $logger,
316 $controller,
317 'default_title',
318 $objectHelper
319 );
320
321 $dataSet = $provider->fetchDataSet(
322 100,
323 array('language' => 'de', 'limit' => 2, 'order_field' => 'something'),
324 array()
325 );
326
327 $this->fail('Should never happen');
328 }
329
334 {
335 $this->expectException(\InvalidArgumentException::class);
336
337 $database = $this->getMockBuilder('ilDBInterface')
338 ->disableOriginalConstructor()
339 ->getMock();
340
341 $database
342 ->expects($this->atLeastOnce())
343 ->method('quote');
344
345 $database->method('fetchAssoc')
346 ->willReturnOnConsecutiveCalls(
347 array(
348 'id' => 600,
349 'obj_id' => 100,
350 'title' => 'CourseTest',
351 'obj_type' => 'crs',
352 'acquired_timestamp' => 1539867618
353 ),
354 null,
355 array(
356 'cnt' => 5,
357 ),
358 null
359 );
360
361 $logger = $this->getMockBuilder('ilLogger')
362 ->disableOriginalConstructor()
363 ->getMock();
364
365 $controller = $this->getMockBuilder('ilCtrl')
366 ->getMock();
367
368 $controller->method('getLinkTargetByClass')
369 ->willReturn('something');
370
371 $objectMock = $this->getMockBuilder('ilObject')
372 ->disableOriginalConstructor()
373 ->getMock();
374
375 $objectMock->method('getTitle')
376 ->willReturn('CourseTest');
377
378 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
379 ->disableOriginalConstructor()
380 ->getMock();
381
382 $objectHelper->method('getInstanceByObjId')
383 ->willReturn($objectMock);
384
385 $provider = new ilUserCertificateTableProvider(
386 $database,
387 $logger,
388 $controller,
389 'default_title',
390 $objectHelper
391 );
392
393 $dataSet = $provider->fetchDataSet(
394 100,
395 array('language' => 'de', 'limit' => 2, 'order_field' => false),
396 array()
397 );
398
399 $this->fail('Should never happen');
400 }
401
406 {
407 $this->expectException(\InvalidArgumentException::class);
408
409 $database = $this->getMockBuilder('ilDBInterface')
410 ->disableOriginalConstructor()
411 ->getMock();
412
413 $database
414 ->expects($this->atLeastOnce())
415 ->method('quote');
416
417 $database->method('fetchAssoc')
418 ->willReturnOnConsecutiveCalls(
419 array(
420 'id' => 600,
421 'obj_id' => 100,
422 'title' => 'CourseTest',
423 'obj_type' => 'crs',
424 'acquired_timestamp' => 1539867618
425 ),
426 null,
427 array(
428 'cnt' => 5,
429 ),
430 null
431 );
432
433 $logger = $this->getMockBuilder('ilLogger')
434 ->disableOriginalConstructor()
435 ->getMock();
436
437 $controller = $this->getMockBuilder('ilCtrl')
438 ->getMock();
439
440 $controller->method('getLinkTargetByClass')
441 ->willReturn('something');
442
443 $objectMock = $this->getMockBuilder('ilObject')
444 ->disableOriginalConstructor()
445 ->getMock();
446
447 $objectMock->method('getTitle')
448 ->willReturn('CourseTest');
449
450 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
451 ->disableOriginalConstructor()
452 ->getMock();
453
454 $objectHelper->method('getInstanceByObjId')
455 ->willReturn($objectMock);
456
457 $provider = new ilUserCertificateTableProvider(
458 $database,
459 $logger,
460 $controller,
461 'default_title',
462 $objectHelper
463 );
464
465 $dataSet = $provider->fetchDataSet(
466 600,
467 array(
468 'language' => 'de',
469 'limit' => 2,
470 'order_field' => 'date',
471 'order_direction' => 'mac'
472 ),
473 array()
474 );
475
476 $this->fail('Should never happen');
477 }
478
483 {
484 $this->expectException(\InvalidArgumentException::class);
485
486 $database = $this->getMockBuilder('ilDBInterface')
487 ->disableOriginalConstructor()
488 ->getMock();
489
490 $database
491 ->expects($this->atLeastOnce())
492 ->method('quote');
493
494 $database->method('fetchAssoc')
495 ->willReturnOnConsecutiveCalls(
496 array(
497 'id' => 600,
498 'obj_id' => 100,
499 'title' => 'CourseTest',
500 'obj_type' => 'crs',
501 'acquired_timestamp' => 1539867618
502 ),
503 null,
504 array(
505 'cnt' => 5,
506 ),
507 null
508 );
509
510 $logger = $this->getMockBuilder('ilLogger')
511 ->disableOriginalConstructor()
512 ->getMock();
513
514 $controller = $this->getMockBuilder('ilCtrl')
515 ->getMock();
516
517 $controller->method('getLinkTargetByClass')
518 ->willReturn('something');
519
520 $objectMock = $this->getMockBuilder('ilObject')
521 ->disableOriginalConstructor()
522 ->getMock();
523
524 $objectMock->method('getTitle')
525 ->willReturn('CourseTest');
526
527 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
528 ->disableOriginalConstructor()
529 ->getMock();
530
531 $objectHelper->method('getInstanceByObjId')
532 ->willReturn($objectMock);
533
534 $provider = new ilUserCertificateTableProvider(
535 $database,
536 $logger,
537 $controller,
538 'default_title',
539 $objectHelper
540 );
541
542 $dataSet = $provider->fetchDataSet(
543 600,
544 array(
545 'language' => 'de',
546 'limit' => 'something',
547 'order_field' => 'date',
548 'order_direction' => 'mac'
549 ),
550 array()
551 );
552
553 $this->fail('Should never happen');
554 }
555
560 {
561 $this->expectException(\InvalidArgumentException::class);
562
563 $database = $this->getMockBuilder('ilDBInterface')
564 ->disableOriginalConstructor()
565 ->getMock();
566
567 $database
568 ->expects($this->atLeastOnce())
569 ->method('quote');
570
571 $database->method('fetchAssoc')
572 ->willReturnOnConsecutiveCalls(
573 array(
574 'id' => 600,
575 'obj_id' => 100,
576 'title' => 'CourseTest',
577 'obj_type' => 'crs',
578 'acquired_timestamp' => 1539867618
579 ),
580 null,
581 array(
582 'cnt' => 5,
583 ),
584 null
585 );
586
587 $logger = $this->getMockBuilder('ilLogger')
588 ->disableOriginalConstructor()
589 ->getMock();
590
591 $controller = $this->getMockBuilder('ilCtrl')
592 ->getMock();
593
594 $controller->method('getLinkTargetByClass')
595 ->willReturn('something');
596
597 $objectMock = $this->getMockBuilder('ilObject')
598 ->disableOriginalConstructor()
599 ->getMock();
600
601 $objectMock->method('getTitle')
602 ->willReturn('CourseTest');
603
604 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
605 ->disableOriginalConstructor()
606 ->getMock();
607
608 $objectHelper->method('getInstanceByObjId')
609 ->willReturn($objectMock);
610
611 $provider = new ilUserCertificateTableProvider(
612 $database,
613 $logger,
614 $controller,
615 'default_title',
616 $objectHelper
617 );
618
619 $dataSet = $provider->fetchDataSet(
620 600,
621 array(
622 'limit' => 3,
623 'language' => 'de',
624 'order_field' => 'date',
625 'order_direction' => 'mac',
626 'offset' => 'something'
627 ),
628 array()
629 );
630
631 $this->fail('Should never happen');
632 }
633}
An exception for terminatinating execution or to throw for unit testing.
Class ilCertificateBaseTestCase.