ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
DefaultMappingsTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
30 use ilRbacReview;
32 use ILIAS\UI\Factory as UI;
33 use ilLanguage;
39 
40 require_once __DIR__ . '/ContainerMock.php';
41 
42 class DefaultMappingsTest extends TestCase
43 {
44  use ContainerMock;
45 
46  public function testConstruct(): void
47  {
48  $this->assertInstanceOf(DefaultMappings::class, new DefaultMappings('foo', $this->mock(Container::class)));
49  }
50 
51  public function testConditionDefinitions(): void
52  {
53  $container = $this->mockTree(Container::class, [
54  'ui' => [
55  'factory' => $this->mock(UI::class),
56  'mainTemplate' => $this->mock(ilGlobalTemplateInterface::class),
57  ],
58  'language' => $this->mockMethod(ilLanguage::class, 'getInstalledLanguages', [], []),
59  'rbac' => $this->mockMethod(RBACServices::class, 'review', [], $this->mock(ilRbacReview::class)),
60  ]);
61  $container->method('offsetGet')->with('ilObjDataCache')->willReturn($this->mock(ilObjectDataCache::class));
62 
63  $instance = new DefaultMappings('foo', $container);
64  $result = $instance->conditionDefinitions();
65  $definitions = $result->choices();
66  $this->assertSame('usr_country', $result->defaultSelection());
67  $this->assertSame(3, count($definitions));
68  $this->assertInstanceOf(RoleDefinition::class, $definitions['usr_global_role']);
69  $this->assertInstanceOf(UserLanguageDefinition::class, $definitions['usr_language']);
70  $this->assertInstanceOf(UserCountryDefinition::class, $definitions['usr_country']);
71  }
72 
73  public function testContentAsComponent(): void
74  {
75  $legacy = $this->mock(Legacy::class);
76 
77  $container = $this->mockTree(Container::class, [
78  'ui' => ['factory' => $this->mockMethod(UIFactory::class, 'legacy', ['bar'], $legacy)],
79  ]);
80 
81  $instance = new DefaultMappings('foo', $container);
82  $map = $instance->contentAsComponent();
83  $this->assertSame(['html'], array_keys($map));
84  $this->assertSame($legacy, $map['html']($this->mockTree(DocumentContent::class, ['value' => 'bar'])));
85  }
86 }
$container
Definition: wac.php:14
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...