ILIAS  trunk Revision v11.0_alpha-1731-gff9cd7e2bd3
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilCertificateCronTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
27 {
28  public function testGetTitle(): void
29  {
30  $queueRepository = $this->getMockBuilder(ilCertificateQueueRepository::class)
31  ->disableOriginalConstructor()
32  ->getMock();
33 
34  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
35 
36  $userRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
37  ->disableOriginalConstructor()
38  ->getMock();
39 
40  $valueReplacement = $this->getMockBuilder(ilCertificateValueReplacement::class)
41  ->disableOriginalConstructor()
42  ->getMock();
43 
44  $logger = $this->getMockBuilder(ilLogger::class)
45  ->disableOriginalConstructor()
46  ->getMock();
47 
48  $languageMock = $this->getMockBuilder(ilLanguage::class)
49  ->disableOriginalConstructor()
50  ->getMock();
51 
52  $languageMock
53  ->expects($this->atLeastOnce())
54  ->method('txt')
55  ->willReturn('SomeTitle');
56 
57  $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
58  ->disableOriginalConstructor()
59  ->getMock();
60 
61  $dic->method('language')
62  ->willReturn($languageMock);
63 
64  $configValues = ['lng'];
65 
66  $dic
67  ->method('offsetGet')
68  ->willReturnCallback(static function ($key) use ($configValues): string {
69  return $configValues[$key];
70  });
71 
72  $dic['lng'] = $languageMock;
73 
75  $queueRepository,
76  $templateRepository,
77  $userRepository,
78  $valueReplacement,
79  $logger,
80  $dic,
81  $languageMock
82  );
83 
84  $title = $cron->getTitle();
85 
86  $this->assertSame('SomeTitle', $title);
87  }
88 
89  public function testGetDescription(): void
90  {
91  $queueRepository = $this->getMockBuilder(ilCertificateQueueRepository::class)
92  ->disableOriginalConstructor()
93  ->getMock();
94 
95  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
96 
97  $userRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
98  ->disableOriginalConstructor()
99  ->getMock();
100 
101  $valueReplacement = $this->getMockBuilder(ilCertificateValueReplacement::class)
102  ->disableOriginalConstructor()
103  ->getMock();
104 
105  $logger = $this->getMockBuilder(ilLogger::class)
106  ->disableOriginalConstructor()
107  ->getMock();
108 
109  $languageMock = $this->getMockBuilder(ilLanguage::class)
110  ->disableOriginalConstructor()
111  ->getMock();
112 
113  $languageMock
114  ->expects($this->atLeastOnce())
115  ->method('txt')
116  ->willReturn('SomeDescription');
117 
118  $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
119  ->disableOriginalConstructor()
120  ->getMock();
121 
122  $dic->method('language')
123  ->willReturn($languageMock);
124 
125  $configValues = ['lng'];
126 
127  $dic
128  ->method('offsetGet')
129  ->willReturnCallback(static function ($key) use ($configValues): string {
130  return $configValues[$key];
131  });
132 
133  $dic['lng'] = $languageMock;
134 
135  $cron = new ilCertificateCron(
136  $queueRepository,
137  $templateRepository,
138  $userRepository,
139  $valueReplacement,
140  $logger,
141  $dic,
142  $languageMock
143  );
144 
145  $title = $cron->getDescription();
146 
147  $this->assertSame('SomeDescription', $title);
148  }
149 
150  public function testGetId(): void
151  {
152  $database = $this->createMock(ilDBInterface::class);
153 
154  $queueRepository = $this->getMockBuilder(ilCertificateQueueRepository::class)
155  ->disableOriginalConstructor()
156  ->getMock();
157 
158  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
159 
160  $userRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
161  ->disableOriginalConstructor()
162  ->getMock();
163 
164  $valueReplacement = $this->getMockBuilder(ilCertificateValueReplacement::class)
165  ->disableOriginalConstructor()
166  ->getMock();
167 
168  $logger = $this->getMockBuilder(ilLogger::class)
169  ->disableOriginalConstructor()
170  ->getMock();
171 
172  $languageMock = $this->getMockBuilder(ilLanguage::class)
173  ->disableOriginalConstructor()
174  ->getMock();
175 
176  $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
177  ->disableOriginalConstructor()
178  ->getMock();
179 
180  $dic->method('language')
181  ->willReturn($languageMock);
182 
183  $dic->method('database')
184  ->willReturn($database);
185 
186  $configValues = ['lng'];
187 
188  $dic
189  ->method('offsetGet')
190  ->willReturnCallback(static function ($key) use ($configValues): string {
191  return $configValues[$key];
192  });
193 
194  $dic['lng'] = $languageMock;
195 
196  $objectMock = $this->getMockBuilder(ilObject::class)
197  ->disableOriginalConstructor()
198  ->getMock();
199 
200  $userMock = $this->getMockBuilder(ilObjUser::class)
201  ->disableOriginalConstructor()
202  ->getMock();
203 
204  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
205  ->disableOriginalConstructor()
206  ->getMock();
207 
208  $objectHelper->method('getInstanceByObjId')
209  ->willReturnOnConsecutiveCalls(
210  $objectMock,
211  $userMock
212  );
213 
214  $cron = new ilCertificateCron(
215  $queueRepository,
216  $templateRepository,
217  $userRepository,
218  $valueReplacement,
219  $logger,
220  $dic,
221  $languageMock,
222  $objectHelper
223  );
224 
225  $id = $cron->getId();
226 
227  $this->assertSame('certificate', $id);
228  }
229 
230  public function testActivation(): void
231  {
232  $database = $this->getMockBuilder(ilDBInterface::class)
233  ->disableOriginalConstructor()
234  ->getMock();
235 
236  $queueRepository = $this->getMockBuilder(ilCertificateQueueRepository::class)
237  ->disableOriginalConstructor()
238  ->getMock();
239 
240  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
241 
242  $userRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
243  ->disableOriginalConstructor()
244  ->getMock();
245 
246  $valueReplacement = $this->getMockBuilder(ilCertificateValueReplacement::class)
247  ->disableOriginalConstructor()
248  ->getMock();
249 
250  $logger = $this->getMockBuilder(ilLogger::class)
251  ->disableOriginalConstructor()
252  ->getMock();
253 
254  $languageMock = $this->getMockBuilder(ilLanguage::class)
255  ->disableOriginalConstructor()
256  ->getMock();
257 
258  $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
259  ->disableOriginalConstructor()
260  ->getMock();
261 
262  $dic->method('language')
263  ->willReturn($languageMock);
264 
265  $dic->method('database')
266  ->willReturn($database);
267 
268  $configValues = ['lng'];
269 
270  $dic
271  ->method('offsetGet')
272  ->willReturnCallback(static function ($key) use ($configValues): string {
273  return $configValues[$key];
274  });
275 
276  $dic['lng'] = $languageMock;
277 
278  $objectMock = $this->getMockBuilder(ilObject::class)
279  ->disableOriginalConstructor()
280  ->getMock();
281 
282  $userMock = $this->getMockBuilder(ilObjUser::class)
283  ->disableOriginalConstructor()
284  ->getMock();
285 
286  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
287  ->disableOriginalConstructor()
288  ->getMock();
289 
290  $objectHelper->method('getInstanceByObjId')
291  ->willReturnOnConsecutiveCalls(
292  $objectMock,
293  $userMock
294  );
295 
296  $cron = new ilCertificateCron(
297  $queueRepository,
298  $templateRepository,
299  $userRepository,
300  $valueReplacement,
301  $logger,
302  $dic,
303  $languageMock,
304  $objectHelper
305  );
306 
307  $activation = $cron->hasAutoActivation();
308 
309  $this->assertTrue($activation);
310  }
311 
312  public function testFlexibleActivation(): void
313  {
314  $database = $this->getMockBuilder(ilDBInterface::class)
315  ->disableOriginalConstructor()
316  ->getMock();
317 
318  $queueRepository = $this->getMockBuilder(ilCertificateQueueRepository::class)
319  ->disableOriginalConstructor()
320  ->getMock();
321 
322  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
323 
324  $userRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
325  ->disableOriginalConstructor()
326  ->getMock();
327 
328  $valueReplacement = $this->getMockBuilder(ilCertificateValueReplacement::class)
329  ->disableOriginalConstructor()
330  ->getMock();
331 
332  $logger = $this->getMockBuilder(ilLogger::class)
333  ->disableOriginalConstructor()
334  ->getMock();
335 
336  $languageMock = $this->getMockBuilder(ilLanguage::class)
337  ->disableOriginalConstructor()
338  ->getMock();
339 
340  $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
341  ->disableOriginalConstructor()
342  ->getMock();
343 
344  $dic->method('language')
345  ->willReturn($languageMock);
346 
347  $dic->method('database')
348  ->willReturn($database);
349 
350  $configValues = ['lng'];
351 
352  $dic
353  ->method('offsetGet')
354  ->willReturnCallback(static function ($key) use ($configValues): string {
355  return $configValues[$key];
356  });
357 
358  $dic['lng'] = $languageMock;
359 
360  $objectMock = $this->getMockBuilder(ilObject::class)
361  ->disableOriginalConstructor()
362  ->getMock();
363 
364  $userMock = $this->getMockBuilder(ilObjUser::class)
365  ->disableOriginalConstructor()
366  ->getMock();
367 
368  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
369  ->disableOriginalConstructor()
370  ->getMock();
371 
372  $objectHelper->method('getInstanceByObjId')
373  ->willReturnOnConsecutiveCalls(
374  $objectMock,
375  $userMock
376  );
377 
378  $cron = new ilCertificateCron(
379  $queueRepository,
380  $templateRepository,
381  $userRepository,
382  $valueReplacement,
383  $logger,
384  $dic,
385  $languageMock,
386  $objectHelper
387  );
388 
389  $flexibleSchedule = $cron->hasFlexibleSchedule();
390 
391  $this->assertTrue($flexibleSchedule);
392  }
393 
394  public function testGetDefaultScheduleType(): void
395  {
396  $database = $this->getMockBuilder(ilDBInterface::class)
397  ->disableOriginalConstructor()
398  ->getMock();
399 
400  $queueRepository = $this->getMockBuilder(ilCertificateQueueRepository::class)
401  ->disableOriginalConstructor()
402  ->getMock();
403 
404  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
405 
406  $userRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
407  ->disableOriginalConstructor()
408  ->getMock();
409 
410  $valueReplacement = $this->getMockBuilder(ilCertificateValueReplacement::class)
411  ->disableOriginalConstructor()
412  ->getMock();
413 
414  $logger = $this->getMockBuilder(ilLogger::class)
415  ->disableOriginalConstructor()
416  ->getMock();
417 
418  $languageMock = $this->getMockBuilder(ilLanguage::class)
419  ->disableOriginalConstructor()
420  ->getMock();
421 
422  $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
423  ->disableOriginalConstructor()
424  ->getMock();
425 
426  $dic->method('language')
427  ->willReturn($languageMock);
428 
429  $dic->method('database')
430  ->willReturn($database);
431 
432  $configValues = ['lng'];
433 
434  $dic
435  ->method('offsetGet')
436  ->willReturnCallback(static function ($key) use ($configValues): string {
437  return $configValues[$key];
438  });
439 
440  $dic['lng'] = $languageMock;
441 
442  $objectMock = $this->getMockBuilder(ilObject::class)
443  ->disableOriginalConstructor()
444  ->getMock();
445 
446  $userMock = $this->getMockBuilder(ilObjUser::class)
447  ->disableOriginalConstructor()
448  ->getMock();
449 
450  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
451  ->disableOriginalConstructor()
452  ->getMock();
453 
454  $objectHelper->method('getInstanceByObjId')
455  ->willReturnOnConsecutiveCalls(
456  $objectMock,
457  $userMock
458  );
459 
460  $cron = new ilCertificateCron(
461  $queueRepository,
462  $templateRepository,
463  $userRepository,
464  $valueReplacement,
465  $logger,
466  $dic,
467  $languageMock,
468  $objectHelper
469  );
470 
471  $flexibleSchedule = $cron->getDefaultScheduleType();
472 
473  $this->assertSame(JobScheduleType::IN_MINUTES, $flexibleSchedule);
474  }
475 
476  public function testGetDefaultScheduleValue(): void
477  {
478  $database = $this->getMockBuilder(ilDBInterface::class)
479  ->disableOriginalConstructor()
480  ->getMock();
481 
482  $queueRepository = $this->getMockBuilder(ilCertificateQueueRepository::class)
483  ->disableOriginalConstructor()
484  ->getMock();
485 
486  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
487 
488  $userRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
489  ->disableOriginalConstructor()
490  ->getMock();
491 
492  $valueReplacement = $this->getMockBuilder(ilCertificateValueReplacement::class)
493  ->disableOriginalConstructor()
494  ->getMock();
495 
496  $logger = $this->getMockBuilder(ilLogger::class)
497  ->disableOriginalConstructor()
498  ->getMock();
499 
500  $languageMock = $this->getMockBuilder(ilLanguage::class)
501  ->disableOriginalConstructor()
502  ->getMock();
503 
504  $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
505  ->disableOriginalConstructor()
506  ->getMock();
507 
508  $dic->method('language')
509  ->willReturn($languageMock);
510 
511  $dic->method('database')
512  ->willReturn($database);
513 
514  $configValues = ['lng'];
515 
516  $dic
517  ->method('offsetGet')
518  ->willReturnCallback(static function ($key) use ($configValues): string {
519  return $configValues[$key];
520  });
521 
522  $dic['lng'] = $languageMock;
523 
524  $objectMock = $this->getMockBuilder(ilObject::class)
525  ->disableOriginalConstructor()
526  ->getMock();
527 
528  $userMock = $this->getMockBuilder(ilObjUser::class)
529  ->disableOriginalConstructor()
530  ->getMock();
531 
532  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
533  ->disableOriginalConstructor()
534  ->getMock();
535 
536  $objectHelper->method('getInstanceByObjId')
537  ->willReturnOnConsecutiveCalls(
538  $objectMock,
539  $userMock
540  );
541 
542  $cron = new ilCertificateCron(
543  $queueRepository,
544  $templateRepository,
545  $userRepository,
546  $valueReplacement,
547  $logger,
548  $dic,
549  $languageMock,
550  $objectHelper
551  );
552 
553  $scheduleValue = $cron->getDefaultScheduleValue();
554 
555  $this->assertSame(1, $scheduleValue);
556  }
557 }
Interface Observer Contains several chained tasks and infos about them.
Class ilCertificateBaseTestCase.
Class HTTPServicesTest.
$cron
Definition: cron.php:26
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23