ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
LanguageActivitySetupVariantTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
26use PHPUnit\Framework\Attributes\DataProvider;
27
32{
36 public static function setupActivities(): array
37 {
38 return [
39 'install' => [InstallLanguage::class],
40 'update' => [UpdateLanguage::class],
41 ];
42 }
43
47 #[DataProvider('setupActivities')]
48 public function testForSetupActivityRefusesIsAllowedToPerform(string $class): void
49 {
50 $activity = $class::forSetup($this->createStub(\ilSetupLanguage::class));
51
52 $this->expectException(\LogicException::class);
53 $activity->isAllowedToPerform(6, []);
54 }
55
57 {
58 $system = $this->createMock(\ilRbacSystem::class);
59 $system->expects(self::once())->method('checkAccessOfUser')
60 ->with(6, 'write', 77)->willReturn(true);
61 $rbac = $this->createMock(\ILIAS\AccessControl\PublicInterface\RBAC::class);
62 $rbac->expects(self::once())->method('system')->willReturn($system);
63
64 $activity = new InstallLanguage(
65 $rbac,
66 $this->createStub(\ilSetupLanguage::class),
67 $this->languageFolder(77)
68 );
69
70 self::assertTrue($activity->isAllowedToPerform(6, []));
71 }
72
74 {
75 $setup_language = $this->createStub(\ilSetupLanguage::class);
76 $setup_language->method('getInstalledLanguages')->willReturn(['de']);
77
78 $result = UpdateLanguage::forSetup($setup_language)->perform(['language_keys' => ['fr']]);
79
80 self::assertSame(
81 [
82 'updated_language_keys' => [],
83 'not_installed_language_keys' => ['fr'],
84 'overlay_write_failed_language_keys' => [],
85 'invalid_markup_customizing_entries' => [],
86 'duplicate_customizing_entries' => [],
87 ],
88 $result
89 );
90 }
91}
static forSetup(\ilSetupLanguage $setup_language)
The RBAC-free Setup variants and the lazy RBAC access of LanguageActivity.
Class ilLanguageBaseTest.
Class ilObjLanguageAccess.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.