29 protected function setUp(): void
31 $this->data_factory =
new Data\Factory();
51 $this->data_factory->version(
"6.5"),
56 $this->data_factory->version(
"1.0.0"),
58 $this->data_factory->version(
"1.0.0"),
59 $this->data_factory->version(
"6.0"),
60 $this->data_factory->version(
"6.99"),
62 "richard.klees@concepts-and-training.de",
71 $this->assertEquals($this->pluginslot, $this->plugin->getPluginSlot());
72 $this->assertEquals($this->component, $this->plugin->getComponent());
73 $this->assertEquals(
"plg1", $this->plugin->getId());
74 $this->assertEquals(
"Plugin1", $this->plugin->getName());
75 $this->assertTrue($this->plugin->isActivated());
76 $this->assertEquals($this->data_factory->version(
"1.0.0"), $this->plugin->getCurrentVersion());
77 $this->assertEquals(12, $this->plugin->getCurrentDBVersion());
78 $this->assertEquals($this->data_factory->version(
"1.0.0"), $this->plugin->getAvailableVersion());
79 $this->assertEquals($this->data_factory->version(
"6.0"), $this->plugin->getMinimumILIASVersion());
80 $this->assertEquals($this->data_factory->version(
"6.99"), $this->plugin->getMaximumILIASVersion());
81 $this->assertEquals(
"Richard Klees", $this->plugin->getResponsible());
82 $this->assertEquals(
"richard.klees@concepts-and-training.de", $this->plugin->getResponsibleMail());
83 $this->assertTrue($this->plugin->supportsLearningProgress());
84 $this->assertFalse($this->plugin->supportsExport());
85 $this->assertTrue($this->plugin->supportsCLISetup());
90 $this->assertTrue($this->plugin->isInstalled());
96 $this->data_factory->version(
"6.5"),
103 $this->data_factory->version(
"1.0.0"),
104 $this->data_factory->version(
"6.0"),
105 $this->data_factory->version(
"6.99"),
107 "richard.klees@concepts-and-training.de",
113 $this->assertFalse($this->plugin->isInstalled());
118 $this->assertFalse($this->plugin->isUpdateRequired());
124 $this->data_factory->version(
"6.5"),
131 $this->data_factory->version(
"1.0.0"),
132 $this->data_factory->version(
"6.0"),
133 $this->data_factory->version(
"6.99"),
135 "richard.klees@concepts-and-training.de",
141 $this->assertFalse($this->plugin->isUpdateRequired());
147 $this->data_factory->version(
"6.5"),
152 $this->data_factory->version(
"2.0.0"),
154 $this->data_factory->version(
"1.0.0"),
155 $this->data_factory->version(
"6.0"),
156 $this->data_factory->version(
"6.99"),
158 "richard.klees@concepts-and-training.de",
164 $this->assertTrue($this->plugin->isUpdateRequired());
169 $this->assertFalse($this->plugin->isVersionToOld());
172 $this->data_factory->version(
"6.5"),
177 $this->data_factory->version(
"1.0.0"),
179 $this->data_factory->version(
"2.0.0"),
180 $this->data_factory->version(
"6.0"),
181 $this->data_factory->version(
"6.99"),
183 "richard.klees@concepts-and-training.de",
188 $this->assertFalse($plugin->isVersionToOld());
191 $this->data_factory->version(
"6.5"),
196 $this->data_factory->version(
"1.2.2"),
198 $this->data_factory->version(
"1.0.0"),
199 $this->data_factory->version(
"6.0"),
200 $this->data_factory->version(
"6.99"),
202 "richard.klees@concepts-and-training.de",
207 $this->assertTrue($plugin->isVersionToOld());
221 $this->data_factory->version(
"1.2.2"),
223 $this->data_factory->version(
"1.0.0"),
224 $this->data_factory->version(
"6.0"),
225 $this->data_factory->version(
"6.99"),
227 "richard.klees@concepts-and-training.de",
237 $data_factory =
new Data\Factory();
239 [$data_factory->version(
"5.4"),
false],
240 [$data_factory->version(
"6.5"),
true],
241 [$data_factory->version(
"7.1"),
false]
249 $this->plugin->getPath()
257 $this->plugin->getClassName()
264 "ilPlugin1ConfigGUI",
265 $this->plugin->getConfigGUIClassName()
274 bool $supports_current_ilias,
276 bool $is_version_to_old,
277 bool $is_activation_possible
279 $plugin =
new class ($is_installed, $supports_current_ilias, $needs_update, $is_version_to_old) extends
ilPluginInfo {
280 protected bool $is_installed;
281 protected bool $supports_current_ilias;
282 protected bool $needs_update;
283 protected bool $is_version_to_old;
287 bool $supports_current_ilias,
289 bool $is_version_to_old
291 $this->is_installed = $is_installed;
292 $this->supports_current_ilias = $supports_current_ilias;
293 $this->needs_update = $needs_update;
294 $this->is_version_to_old = $is_version_to_old;
297 public function isInstalled():
bool 299 return $this->is_installed;
302 public function isUpdateRequired():
bool 304 return $this->needs_update;
307 public function isCompliantToILIAS():
bool 309 return $this->supports_current_ilias;
312 public function isVersionToOld():
bool 314 return $this->is_version_to_old;
325 [
false,
false,
false,
false,
false],
326 [
false,
false,
true,
false,
false],
327 [
false,
true,
false,
false,
false],
328 [
false,
true,
true,
false,
false],
329 [
true,
false,
false,
false,
false],
330 [
true,
false,
true,
false,
false],
331 [
true,
true,
false,
false,
true],
332 [
true,
true,
true,
true,
false],
333 [
false,
false,
false,
true,
false],
334 [
false,
false,
true,
true,
false],
335 [
false,
true,
false,
true,
false],
336 [
false,
true,
true,
true,
false],
337 [
true,
false,
false,
true,
false],
338 [
true,
false,
true,
true,
false],
339 [
true,
true,
false,
true,
false],
340 [
true,
true,
true,
true,
false]
349 bool $supports_current_ilias,
352 bool $is_version_to_old,
353 bool $is_activation_possible
355 $plugin =
new class ($is_installed, $supports_current_ilias, $needs_update, $is_activated, $is_version_to_old) extends
ilPluginInfo {
356 protected bool $is_installed;
357 protected bool $supports_current_ilias;
358 protected bool $needs_update;
359 protected bool $is_activated;
360 protected bool $is_version_to_old;
364 bool $supports_current_ilias,
367 bool $is_version_to_old
369 $this->is_installed = $is_installed;
370 $this->supports_current_ilias = $supports_current_ilias;
371 $this->needs_update = $needs_update;
372 $this->is_activated = $is_activated;
373 $this->is_version_to_old = $is_version_to_old;
376 public function isActivated():
bool 378 return $this->is_activated;
381 public function isInstalled():
bool 383 return $this->is_installed;
386 public function isUpdateRequired():
bool 388 return $this->needs_update;
391 public function isCompliantToILIAS():
bool 393 return $this->supports_current_ilias;
396 public function isVersionToOld():
bool 398 return $this->is_version_to_old;
402 $this->assertEquals($is_activation_possible, $plugin->
isActive());
409 [
false,
false,
false,
false,
false,
false],
410 [
false,
false,
false,
true,
false,
false],
411 [
false,
false, true ,
false,
false,
false],
412 [
false,
false, true ,
true,
false,
false],
413 [
false,
true,
false,
false,
false,
false],
414 [
false,
true,
false,
true,
false,
false],
415 [
false,
true, true ,
false,
false,
false],
416 [
false,
true, true ,
true,
false,
false],
417 [
true,
false,
false,
false,
false,
false],
418 [
true,
false,
false,
true,
false,
false],
419 [
true,
false, true ,
false,
false,
false],
420 [
true,
false, true ,
true,
false,
false],
421 [
true,
true,
false,
false,
false,
false],
422 [
true,
true,
false,
true,
false,
true],
423 [
true,
true, true ,
false,
false,
false],
424 [
true,
true, true ,
true,
false,
false],
426 [
false,
false,
false,
false,
true,
false],
427 [
false,
false,
false,
true,
true,
false],
428 [
false,
false, true ,
false,
true,
false],
429 [
false,
false, true ,
true,
true,
false],
430 [
false,
true,
false,
false,
true,
false],
431 [
false,
true,
false,
true,
true,
false],
432 [
false,
true, true ,
false,
true,
false],
433 [
false,
true, true ,
true,
true,
false],
434 [
true,
false,
false,
false,
true,
false],
435 [
true,
false,
false,
true,
true,
false],
436 [
true,
false, true ,
false,
true,
false],
437 [
true,
false, true ,
true,
true,
false],
438 [
true,
true,
false,
false,
true,
false],
439 [
true,
true,
false,
true,
true,
false],
440 [
true,
true, true ,
false,
true,
false],
441 [
true,
true, true ,
true,
true,
false],
451 bool $supports_current_ilias,
454 bool $is_version_to_old,
455 string $inactivity_reason
457 $plugin =
new class ($is_installed, $supports_current_ilias, $needs_update, $is_activated, $is_version_to_old) extends
ilPluginInfo {
458 protected bool $is_installed;
459 protected bool $supports_current_ilias;
460 protected bool $needs_update;
461 protected bool $is_activated;
462 protected bool $is_version_to_old;
466 bool $supports_current_ilias,
469 bool $is_version_to_old
471 $this->is_installed = $is_installed;
472 $this->supports_current_ilias = $supports_current_ilias;
473 $this->needs_update = $needs_update;
474 $this->is_activated = $is_activated;
475 $this->is_version_to_old = $is_version_to_old;
478 public function isActivated():
bool 480 return $this->is_activated;
483 public function isInstalled():
bool 485 return $this->is_installed;
488 public function isUpdateRequired():
bool 490 return $this->needs_update;
493 public function isCompliantToILIAS():
bool 495 return $this->supports_current_ilias;
498 public function getCurrentVersion(): ?Data\Version
500 return $this->current_version;
503 public function isVersionToOld():
bool 505 return $this->is_version_to_old;
514 $this->expectException(LogicException::class);
521 public function isActive():
bool 534 [
false,
false,
false,
false,
false,
"cmps_needs_matching_ilias_version"],
535 [
false,
false,
false,
true,
false,
"cmps_needs_matching_ilias_version"],
536 [
false,
false, true ,
false,
false,
"cmps_needs_matching_ilias_version"],
537 [
false,
false, true ,
true,
false,
"cmps_needs_matching_ilias_version"],
538 [
false,
true,
false,
false,
false,
"cmps_must_installed"],
539 [
false,
true,
false,
true,
false,
"cmps_must_installed"],
540 [
false,
true, true ,
false,
false,
"cmps_must_installed"],
541 [
false,
true, true ,
true,
false,
"cmps_must_installed"],
542 [
true,
false,
false,
false,
false,
"cmps_needs_matching_ilias_version"],
543 [
true,
false,
false,
true,
false,
"cmps_needs_matching_ilias_version"],
544 [
true,
false, true ,
false,
false,
"cmps_needs_matching_ilias_version"],
545 [
true,
false, true ,
true,
false,
"cmps_needs_matching_ilias_version"],
546 [
true,
true,
false,
false,
false,
"cmps_not_activated"],
547 [
true,
true, true ,
false,
false,
"cmps_needs_update"],
548 [
true,
true, true ,
true,
false,
"cmps_needs_update"],
549 [
false,
false,
false,
false,
true,
"cmps_needs_matching_ilias_version"],
550 [
false,
false,
false,
true,
true,
"cmps_needs_matching_ilias_version"],
551 [
false,
false, true ,
false,
true,
"cmps_needs_matching_ilias_version"],
552 [
false,
false, true ,
true,
true,
"cmps_needs_matching_ilias_version"],
553 [
false,
true,
false,
false,
true,
"cmps_must_installed"],
554 [
false,
true,
false,
true,
true,
"cmps_must_installed"],
555 [
false,
true, true ,
false,
true,
"cmps_must_installed"],
556 [
false,
true, true ,
true,
true,
"cmps_must_installed"],
557 [
true,
false,
false,
false,
true,
"cmps_needs_matching_ilias_version"],
558 [
true,
false,
false,
true,
true,
"cmps_needs_matching_ilias_version"],
559 [
true,
false, true ,
false,
true,
"cmps_needs_matching_ilias_version"],
560 [
true,
false, true ,
true,
true,
"cmps_needs_matching_ilias_version"],
561 [
true,
true,
false,
false,
true,
"cmps_needs_upgrade"],
562 [
true,
true, true ,
false,
true,
"cmps_needs_upgrade"],
563 [
true,
true, true ,
true,
true,
"cmps_needs_upgrade"],
testIsCompliantToILIAS(Data\Version $version, bool $is_compliant)
versionCompliance
testGetReasonForInactivityThrowsOnActivePlugin()
testIsActivationPossible(bool $is_installed, bool $supports_current_ilias, bool $needs_update, bool $is_version_to_old, bool $is_activation_possible)
isActivationPossibleTruthTable
testIsActive(bool $is_installed, bool $supports_current_ilias, bool $needs_update, bool $is_activated, bool $is_version_to_old, bool $is_activation_possible)
isActiveTruthTable
ilComponentInfo $component
Simple value class for basic information about a pluginslot.
isActive()
Is this plugin active right now?
Data Factory $data_factory
testUpdateIsNotRequired()
testUpdateIsNotRequiredNotInstalled()
isActivationPossibleTruthTable()
testGetConfigureClassName()
isActivationPossible()
Can this plugin be activated right now.
isCompliantToILIAS()
"ILIAS Version compliance" tells if the plugin can be operated with the given ILIAS version...
Simple value class for information about a plugin.
getReasonForInactivity()
Which is the reason for the inactivity?
ilPluginSlotInfo $pluginslot
__construct(Container $dic, ilPlugin $plugin)
A version number that consists of three numbers (major, minor, patch).
Simple value class for basic information about a component.
testGetReasonForInactivity(bool $is_installed, bool $supports_current_ilias, bool $needs_update, bool $is_activated, bool $is_version_to_old, string $inactivity_reason)
inactivityReasonTable