19declare(strict_types=1);
21use PHPUnit\Framework\TestCase;
37 protected function setUp(): void
39 $this->parent_gui = $this->createMock(ilObjComponentSettingsGUI::class);
40 $this->
ctrl = $this->createMock(ilCtrl::class);
41 $this->
ui = $this->createMock(Factory::class);
42 $this->
renderer = $this->createMock(Renderer::class);
43 $this->
lng = $this->createMock(ilLanguage::class);
44 $this->
lng->method(
"txt")
45 ->willReturnCallback(fn(
$id) =>
$id);
51 $this->assertInstanceOf(ilPluginsOverviewTable::class, $obj);
64 #[\PHPUnit\Framework\Attributes\DataProvider('getImportantFieldData')]
68 public function getImportantFields(
ilPluginInfo $plugin_info): array
70 return parent::getImportantFields($plugin_info);
74 $plugin_info = $this->createMock(ilPluginInfo::class);
76 ->expects($this->once())
77 ->method(
"isInstalled")
78 ->willReturn($installed)
81 ->expects($this->once())
86 $result1 =
"not_installed";
88 $result1 =
"installed";
91 $result2 =
"inactive";
93 $result2 =
"cmps_active";
96 $result = $obj->getImportantFields($plugin_info);
98 $this->assertEquals($result1, $result[0]);
99 $this->assertEquals($result2, $result[1]);
111 $plugin_info = $this->createMock(ilPluginInfo::class);
113 ->expects($this->once())
114 ->method(
"isInstalled")
118 ->expects($this->once())
123 ->expects($this->once())
124 ->method(
"isUpdateRequired")
128 $result = $obj->getContent($plugin_info);
130 $this->assertIsArray($result);
136 public function boolToString(
bool $value):
string
138 return parent::boolToString($value);
142 $result = $obj->boolToString(
true);
143 $this->assertEquals(
"yes", $result);
145 $result = $obj->boolToString(
false);
146 $this->assertEquals(
"no", $result);
152 public function setFilter(array $filter):
void
157 public function filterData(array
$data): array
159 return parent::filterData(
$data);
163 $plugin_slot = $this->createMock(ilPluginSlotInfo::class);
166 ->willReturn(
"Repository")
169 $component = $this->createMock(ilComponentInfo::class);
171 ->method(
"getQualifiedName")
172 ->willReturn(
"QualifiedName")
175 $plugin_info = $this->createMock(ilPluginInfo::class);
178 ->willReturn(
"TestRepo")
189 ->method(
"getPluginSlot")
190 ->willReturn($plugin_slot)
193 ->method(
"getComponent")
194 ->willReturn($component)
197 $obj->setFilter([
"plugin_name" =>
"TestRepo"]);
198 $result = $obj->filterData([$plugin_info]);
199 $this->assertEquals($plugin_info, $result[0]);
201 $obj->setFilter([
"plugin_name" =>
"TestRepoFAIL"]);
202 $result = $obj->filterData([$plugin_info]);
203 $this->assertCount(0, $result);
205 $obj->setFilter([
"plugin_id" =>
"xvw"]);
206 $result = $obj->filterData([$plugin_info]);
207 $this->assertEquals($plugin_info, $result[0]);
209 $obj->setFilter([
"plugin_id" =>
"xvwFAIL"]);
210 $result = $obj->filterData([$plugin_info]);
211 $this->assertCount(0, $result);
213 $obj->setFilter([
"plugin_active" =>
"1"]);
214 $result = $obj->filterData([$plugin_info]);
215 $this->assertEquals($plugin_info, $result[0]);
217 $obj->setFilter([
"plugin_active" =>
"-1"]);
218 $result = $obj->filterData([$plugin_info]);
219 $this->assertCount(0, $result);
221 $obj->setFilter([
"slot_name" => [
"Repository"]]);
222 $result = $obj->filterData([$plugin_info]);
223 $this->assertEquals($plugin_info, $result[0]);
225 $obj->setFilter([
"slot_name" => [
"RepositoryFAILQualifiedNameFAIL"]]);
226 $result = $obj->filterData([$plugin_info]);
227 $this->assertCount(0, $result);
229 $obj->setFilter([
"component_name" => [
"QualifiedName"]]);
230 $result = $obj->filterData([$plugin_info]);
231 $this->assertEquals($plugin_info, $result[0]);
233 $obj->setFilter([
"component_name" => [
"QualifiedNameFAIL"]]);
234 $result = $obj->filterData([$plugin_info]);
235 $this->assertCount(0, $result);
241 public function getData(): array
243 return parent::getData();
247 $result = $obj->getData();
249 $this->assertIsArray($result);
250 $this->assertEmpty($result);
256 public function getData(): array
258 return parent::getData();
260 public function withDataWrapper(array
$data)
262 return parent::withData(
$data);
266 $obj = $obj->withDataWrapper([
"data1",
"data2"]);
267 $result = $obj->getData();
269 $this->assertIsArray($result);
270 $this->assertEquals(
"data1", $result[0]);
271 $this->assertEquals(
"data2", $result[1]);
276 $shy = $this->createMock(Shy::class);
278 $standard = $this->createMock(Standard::class);
280 ->expects($this->once())
287 ->expects($this->once())
289 ->willReturn($standard)
293 ->expects($this->once())
295 ->willReturn($dropdown)
316 return parent::getActions($plugin_info);
321 protected function clearParameter():
void
324 protected function getDropdownButton(
string $caption,
string $command):
Shy
330 $plugin_info = $this->createMock(ilPluginInfo::class);
332 ->expects($this->once())
333 ->method(
"isInstalled")
337 $result = $obj->getActions($plugin_info);
339 $this->assertInstanceOf(Shy::class, $result->getItems()[0]);
344 $shy = $this->createMock(Shy::class);
346 $standard = $this->createMock(Standard::class);
348 ->expects($this->once())
355 ->expects($this->once())
357 ->willReturn($standard)
361 ->expects($this->once())
363 ->willReturn($dropdown)
384 return parent::getActions($plugin_info);
389 protected function clearParameter():
void
392 protected function hasLang(
ilPluginInfo $plugin_info):
bool
396 protected function getDropdownButton(
string $caption,
string $command):
Shy
402 $plugin_info = $this->createMock(ilPluginInfo::class);
404 ->expects($this->once())
405 ->method(
"isInstalled")
409 ->expects($this->once())
414 ->expects($this->once())
415 ->method(
"isActivationPossible")
419 ->expects($this->once())
420 ->method(
"isUpdateRequired")
424 $result = $obj->getActions($plugin_info);
426 $this->assertInstanceOf(Shy::class, $result->getItems()[0]);
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Builds a Color from either hex- or rgb values.
Class ilCtrl provides processing control methods.
@ilCtrl_Calls ilObjComponentSettingsGUI: ilPermissionGUI
Simple value class for information about a plugin.
testGetImportantFields(bool $installed, bool $active)
static getImportantFieldData()
testGetActionsPluginInstalled()
ilObjComponentSettingsGUI $parent_gui
testGetActionsPluginNotInstalled()
This describes commonalities between all types of Dropdowns.
This describes a Standard Dropdown.
This is how the factory for UI elements looks.
An entity that renders components to a string output.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
filter(string $filter_id, $class_path, string $cmd, bool $activated=true, bool $expanded=true)
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.