ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
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 }
Class ilCertificateBaseTestCase.