ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilCertificateTemplateRepositoryTest Class Reference
+ Inheritance diagram for ilCertificateTemplateRepositoryTest:
+ Collaboration diagram for ilCertificateTemplateRepositoryTest:

Public Member Functions

 testCertificateWillBeSavedToTheDatabase ()
 
 testFetchCertificateTemplatesByObjId ()
 
 testFetchCurrentlyActiveCertificate ()
 
 testFetchPreviousCertificate ()
 
 testDeleteTemplateFromDatabase ()
 
 testActivatePreviousCertificate ()
 
 testFetchAllObjectIdsByType ()
 
 testFetchFirstCreatedTemplateFailsBecauseNothingWasSaved ()
 
 fetchFirstCreateTemplate ()
 

Detailed Description

Member Function Documentation

◆ fetchFirstCreateTemplate()

ilCertificateTemplateRepositoryTest::fetchFirstCreateTemplate ( )

Definition at line 430 of file ilCertificateTemplateRepositoryTest.php.

430  : void
431  {
432  $database = $this->createMock(ilDBInterface::class);
433 
434  $logger = $this->getMockBuilder(ilLogger::class)
435  ->disableOriginalConstructor()
436  ->getMock();
437 
438  $database->method('quote')
439  ->with(10, 'integer')
440  ->willReturn(10);
441 
442  $objectDataCache = $this->getMockBuilder(ilObjectDataCache::class)
443  ->disableOriginalConstructor()
444  ->getMock();
445 
446  $database->method('fetchAssoc')
447  ->willReturn([]);
448 
449  $database->method('fetchAssoc')->willReturn(
450  [
451  'id' => 1,
452  'obj_id' => 10,
453  'obj_type' => 'crs',
454  'certificate_content' => '<xml>Some Content</xml>',
455  'certificate_hash' => md5('<xml>Some Content</xml>'),
456  'template_values' => '[]',
457  'version' => 1,
458  'ilias_version' => 'v5.4.0',
459  'created_timestamp' => 123456789,
460  'currently_active' => true,
461  'background_image_path' => '/some/where/background.jpg'
462  ]
463  );
464 
465  $repository = new ilCertificateTemplateDatabaseRepository($database, $logger, $objectDataCache);
466 
467  $firstTemplate = $repository->fetchFirstCreatedTemplate(10);
468 
469  $this->assertSame(1, $firstTemplate->getId());
470  }

◆ testActivatePreviousCertificate()

ilCertificateTemplateRepositoryTest::testActivatePreviousCertificate ( )

Definition at line 279 of file ilCertificateTemplateRepositoryTest.php.

279  : void
280  {
281  $database = $this->createMock(ilDBInterface::class);
282 
283  $logger = $this->getMockBuilder(ilLogger::class)
284  ->disableOriginalConstructor()
285  ->getMock();
286 
287  $database->method('quote')
288  ->withConsecutive([10, 'integer'], [30, 'integer'])
289  ->willReturnOnConsecutiveCalls('10', '30');
290 
291  $database->method('fetchAssoc')->willReturnOnConsecutiveCalls(
292  [
293  'id' => 1,
294  'obj_id' => 10,
295  'obj_type' => 'crs',
296  'certificate_content' => '<xml>Some Content</xml>',
297  'certificate_hash' => md5('<xml>Some Content</xml>'),
298  'template_values' => '[]',
299  'version' => 1,
300  'ilias_version' => 'v5.4.0',
301  'created_timestamp' => 123456789,
302  'currently_active' => true,
303  'background_image_path' => '/some/where/background.jpg',
304  'thumbnail_image_path' => 'some/path/test.svg'
305  ],
306  [
307  'id' => 30,
308  'obj_id' => 10,
309  'obj_type' => 'tst',
310  'certificate_content' => '<xml>Some Other Content</xml>',
311  'certificate_hash' => md5('<xml>Some Content</xml>'),
312  'template_values' => '[]',
313  'version' => 55,
314  'ilias_version' => 'v5.3.0',
315  'created_timestamp' => 123456789,
316  'currently_active' => false,
317  'background_image_path' => '/some/where/else/background.jpg',
318  'thumbnail_image_path' => 'some/path/test.svg'
319  ]
320  );
321 
322  $database->method('query')
323  ->withConsecutive(
324  [$this->anything()],
325  [
326  'UPDATE il_cert_template
327 SET currently_active = 1
328 WHERE id = 30'
329  ]
330  );
331 
332  $objectDataCache = $this->getMockBuilder(ilObjectDataCache::class)
333  ->disableOriginalConstructor()
334  ->getMock();
335 
336  $objectDataCache->method('lookUpType')->willReturn('crs');
337 
338  $repository = new ilCertificateTemplateDatabaseRepository($database, $logger, $objectDataCache);
339 
340  $template = $repository->activatePreviousCertificate(10);
341 
342  $this->assertSame(30, $template->getId());
343  }

◆ testCertificateWillBeSavedToTheDatabase()

ilCertificateTemplateRepositoryTest::testCertificateWillBeSavedToTheDatabase ( )

Definition at line 26 of file ilCertificateTemplateRepositoryTest.php.

26  : void
27  {
28  $database = $this->createMock(ilDBInterface::class);
29 
30  $logger = $this->getMockBuilder(ilLogger::class)
31  ->disableOriginalConstructor()
32  ->getMock();
33 
34  $objectDataCache = $this->getMockBuilder(ilObjectDataCache::class)
35  ->disableOriginalConstructor()
36  ->getMock();
37 
38  $objectDataCache->method('lookUpType')->willReturn('crs');
39 
40  $database->method('nextId')
41  ->willReturn(10);
42 
43  $database->method('insert')
44  ->with(
45  'il_cert_template',
46  [
47  'id' => ['integer', 10],
48  'obj_id' => ['integer', 100],
49  'obj_type' => ['text', 'crs'],
50  'certificate_content' => ['clob', '<xml>Some Content</xml>'],
51  'certificate_hash' => ['text', md5('<xml>Some Content</xml>')],
52  'template_values' => ['clob', '[]'],
53  'version' => ['integer', 1],
54  'ilias_version' => ['text', 'v5.4.0'],
55  'created_timestamp' => ['integer', 123456789],
56  'currently_active' => ['integer', true],
57  'background_image_path' => ['text', '/some/where/background.jpg'],
58  'deleted' => ['integer', 0],
59  'thumbnail_image_path' => ['text', 'some/path/test.svg']
60  ]
61  );
62 
63  $logger->expects($this->atLeastOnce())
64  ->method('debug');
65 
66  $template = new ilCertificateTemplate(
67  100,
68  'crs',
69  '<xml>Some Content</xml>',
70  md5('<xml>Some Content</xml>'),
71  '[]',
72  1,
73  'v5.4.0',
74  123456789,
75  true,
76  $backgroundImagePath = '/some/where/background.jpg',
77  'some/path/test.svg'
78  );
79 
80  $repository = new ilCertificateTemplateDatabaseRepository($database, $logger, $objectDataCache);
81 
82  $repository->save($template);
83  }

◆ testDeleteTemplateFromDatabase()

ilCertificateTemplateRepositoryTest::testDeleteTemplateFromDatabase ( )

Definition at line 250 of file ilCertificateTemplateRepositoryTest.php.

250  : void
251  {
252  $database = $this->createMock(ilDBInterface::class);
253 
254  $logger = $this->getMockBuilder(ilLogger::class)
255  ->disableOriginalConstructor()
256  ->getMock();
257 
258  $database->method('quote')
259  ->withConsecutive([10, 'integer'], [200, 'integer'])
260  ->willReturnOnConsecutiveCalls('10', '200');
261 
262  $database->method('query')
263  ->with('
264 DELETE FROM il_cert_template
265 WHERE id = 10
266 AND obj_id = 200');
267 
268  $objectDataCache = $this->getMockBuilder(ilObjectDataCache::class)
269  ->disableOriginalConstructor()
270  ->getMock();
271 
272  $objectDataCache->method('lookUpType')->willReturn('crs');
273 
274  $repository = new ilCertificateTemplateDatabaseRepository($database, $logger, $objectDataCache);
275 
276  $repository->deleteTemplate(10, 200);
277  }

◆ testFetchAllObjectIdsByType()

ilCertificateTemplateRepositoryTest::testFetchAllObjectIdsByType ( )

Definition at line 345 of file ilCertificateTemplateRepositoryTest.php.

345  : void
346  {
347  $database = $this->createMock(ilDBInterface::class);
348 
349  $logger = $this->getMockBuilder(ilLogger::class)
350  ->disableOriginalConstructor()
351  ->getMock();
352 
353  $objectDataCache = $this->getMockBuilder(ilObjectDataCache::class)
354  ->disableOriginalConstructor()
355  ->getMock();
356 
357  $database->method('fetchAssoc')->willReturnOnConsecutiveCalls(
358  [
359  'id' => 1,
360  'obj_id' => 10,
361  'obj_type' => 'crs',
362  'certificate_content' => '<xml>Some Content</xml>',
363  'certificate_hash' => md5('<xml>Some Content</xml>'),
364  'template_values' => '[]',
365  'version' => 1,
366  'ilias_version' => 'v5.4.0',
367  'created_timestamp' => 123456789,
368  'currently_active' => true,
369  'background_image_path' => '/some/where/background.jpg',
370  'thumbnail_image_path' => '/some/where/thumbnail.svg'
371  ],
372  [
373  'id' => 30,
374  'obj_id' => 30,
375  'obj_type' => 'crs',
376  'certificate_content' => '<xml>Some Other Content</xml>',
377  'certificate_hash' => md5('<xml>Some Content</xml>'),
378  'template_values' => '[]',
379  'version' => 55,
380  'ilias_version' => 'v5.3.0',
381  'created_timestamp' => 123456789,
382  'currently_active' => false,
383  'background_image_path' => '/some/where/else/background.jpg',
384  'thumbnail_image_path' => '/some/where/thumbnail.svg'
385  ]
386  );
387 
388  $repository = new ilCertificateTemplateDatabaseRepository($database, $logger, $objectDataCache);
389 
390  $templates = $repository->fetchActiveCertificateTemplatesForCoursesWithDisabledLearningProgress(true);
391 
392  $this->assertSame(10, $templates[0]->getObjId());
393  $this->assertSame(30, $templates[1]->getObjId());
394  }

◆ testFetchCertificateTemplatesByObjId()

ilCertificateTemplateRepositoryTest::testFetchCertificateTemplatesByObjId ( )

Definition at line 85 of file ilCertificateTemplateRepositoryTest.php.

References ILIAS\Survey\Mode\getId().

85  : void
86  {
87  $database = $this->createMock(ilDBInterface::class);
88 
89  $logger = $this->getMockBuilder(ilLogger::class)
90  ->disableOriginalConstructor()
91  ->getMock();
92 
93  $database->method('fetchAssoc')
94  ->willReturnOnConsecutiveCalls(
95  [
96  'id' => 1,
97  'obj_id' => 10,
98  'obj_type' => 'crs',
99  'certificate_content' => '<xml>Some Content</xml>',
100  'certificate_hash' => md5('<xml>Some Content</xml>'),
101  'template_values' => '[]',
102  'version' => 1,
103  'ilias_version' => 'v5.4.0',
104  'created_timestamp' => 123456789,
105  'currently_active' => true,
106  'background_image_path' => '/some/where/background.jpg',
107  'thumbnail_image_path' => 'some/path/test.svg'
108  ],
109  [
110  'id' => 30,
111  'obj_id' => 10,
112  'obj_type' => 'tst',
113  'certificate_content' => '<xml>Some Other Content</xml>',
114  'certificate_hash' => md5('<xml>Some Content</xml>'),
115  'template_values' => '[]',
116  'version' => 55,
117  'ilias_version' => 'v5.3.0',
118  'created_timestamp' => 123456789,
119  'currently_active' => false,
120  'background_image_path' => '/some/where/else/background.jpg',
121  'thumbnail_image_path' => 'some/path/test.svg'
122  ]
123  );
124 
125  $objectDataCache = $this->getMockBuilder(ilObjectDataCache::class)
126  ->disableOriginalConstructor()
127  ->getMock();
128 
129  $objectDataCache->method('lookUpType')->willReturn('crs');
130 
131  $repository = new ilCertificateTemplateDatabaseRepository($database, $logger, $objectDataCache);
132 
133  $templates = $repository->fetchCertificateTemplatesByObjId(10);
134 
135  $this->assertSame(1, $templates[0]->getId());
136  $this->assertSame(30, $templates[1]->getId());
137  }
+ Here is the call graph for this function:

◆ testFetchCurrentlyActiveCertificate()

ilCertificateTemplateRepositoryTest::testFetchCurrentlyActiveCertificate ( )

Definition at line 139 of file ilCertificateTemplateRepositoryTest.php.

139  : void
140  {
141  $database = $this->createMock(ilDBInterface::class);
142 
143  $logger = $this->getMockBuilder(ilLogger::class)
144  ->disableOriginalConstructor()
145  ->getMock();
146 
147  $database->method('fetchAssoc')
148  ->willReturnOnConsecutiveCalls(
149  [
150  'id' => 1,
151  'obj_id' => 10,
152  'obj_type' => 'crs',
153  'certificate_content' => '<xml>Some Content</xml>',
154  'certificate_hash' => md5('<xml>Some Content</xml>'),
155  'template_values' => '[]',
156  'version' => 1,
157  'ilias_version' => 'v5.4.0',
158  'created_timestamp' => 123456789,
159  'currently_active' => true,
160  'background_image_path' => '/some/where/background.jpg',
161  'thumbnail_image_path' => 'some/path/test.svg'
162  ],
163  [
164  'id' => 30,
165  'obj_id' => 10,
166  'obj_type' => 'tst',
167  'certificate_content' => '<xml>Some Other Content</xml>',
168  'certificate_hash' => md5('<xml>Some Content</xml>'),
169  'template_values' => '[]',
170  'version' => 55,
171  'ilias_version' => 'v5.3.0',
172  'created_timestamp' => 123456789,
173  'currently_active' => false,
174  'background_image_path' => '/some/where/else/background.jpg',
175  'thumbnail_image_path' => 'some/path/test.svg'
176  ]
177  );
178 
179  $objectDataCache = $this->getMockBuilder(ilObjectDataCache::class)
180  ->disableOriginalConstructor()
181  ->getMock();
182 
183  $objectDataCache->method('lookUpType')->willReturn('crs');
184 
185  $repository = new ilCertificateTemplateDatabaseRepository($database, $logger, $objectDataCache);
186 
187  $template = $repository->fetchCurrentlyActiveCertificate(10);
188 
189  $this->assertSame(1, $template->getId());
190  }

◆ testFetchFirstCreatedTemplateFailsBecauseNothingWasSaved()

ilCertificateTemplateRepositoryTest::testFetchFirstCreatedTemplateFailsBecauseNothingWasSaved ( )

Definition at line 399 of file ilCertificateTemplateRepositoryTest.php.

399  : void
400  {
401  $this->expectException(ilException::class);
402 
403  $database = $this->createMock(ilDBInterface::class);
404 
405  $logger = $this->getMockBuilder(ilLogger::class)
406  ->disableOriginalConstructor()
407  ->getMock();
408 
409  $database->method('quote')
410  ->with(10, 'integer')
411  ->willReturn('10');
412 
413  $objectDataCache = $this->getMockBuilder(ilObjectDataCache::class)
414  ->disableOriginalConstructor()
415  ->getMock();
416 
417  $database->method('fetchAssoc')
418  ->willReturn([]);
419 
420  $database->method('fetchAssoc')
421  ->willReturn([]);
422 
423  $repository = new ilCertificateTemplateDatabaseRepository($database, $logger, $objectDataCache);
424 
425  $repository->fetchFirstCreatedTemplate(10);
426 
427  $this->fail();
428  }

◆ testFetchPreviousCertificate()

ilCertificateTemplateRepositoryTest::testFetchPreviousCertificate ( )

Definition at line 192 of file ilCertificateTemplateRepositoryTest.php.

192  : void
193  {
194  $database = $this->getMockBuilder(ilDBInterface::class)
195  ->disableOriginalConstructor()
196  ->getMock();
197 
198  $logger = $this->getMockBuilder(ilLogger::class)
199  ->disableOriginalConstructor()
200  ->getMock();
201 
202  $database->method('fetchAssoc')
203  ->willReturnOnConsecutiveCalls(
204  [
205  'id' => 1,
206  'obj_id' => 10,
207  'obj_type' => 'crs',
208  'certificate_content' => '<xml>Some Content</xml>',
209  'certificate_hash' => md5('<xml>Some Content</xml>'),
210  'template_values' => '[]',
211  'version' => 1,
212  'ilias_version' => 'v5.4.0',
213  'created_timestamp' => 123456789,
214  'currently_active' => true,
215  'background_image_path' => '/some/where/background.jpg',
216  'thumbnail_image_path' => 'some/path/test.svg'
217  ],
218  [
219  'id' => 30,
220  'obj_id' => 10,
221  'obj_type' => 'tst',
222  'certificate_content' => '<xml>Some Other Content</xml>',
223  'certificate_hash' => md5('<xml>Some Content</xml>'),
224  'template_values' => '[]',
225  'version' => 55,
226  'ilias_version' => 'v5.3.0',
227  'created_timestamp' => 123456789,
228  'currently_active' => false,
229  'background_image_path' => '/some/where/else/background.jpg',
230  'thumbnail_image_path' => 'some/path/test.svg'
231  ]
232  );
233 
234  $objectDataCache = $this->getMockBuilder(ilObjectDataCache::class)
235  ->disableOriginalConstructor()
236  ->getMock();
237 
238  $objectDataCache->method('lookUpType')->willReturn('crs');
239 
240  $repository = new ilCertificateTemplateDatabaseRepository($database, $logger, $objectDataCache);
241 
242  $template = $repository->fetchPreviousCertificate(10);
243 
244  $this->assertSame(30, $template->getId());
245  }

The documentation for this class was generated from the following file: