ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
assBaseTestCase.php
Go to the documentation of this file.
1 <?php
2 
21 use ILIAS\Refinery\Random\Group as RandomGroup;
25 
29 abstract class assBaseTestCase extends TestCase
30 {
31  protected ?Container $dic = null;
32 
36  protected function setUp(): void
37  {
38  global $DIC;
39 
40  $this->dic = is_object($DIC) ? clone $DIC : $DIC;
41 
42  $DIC = new Container();
43 
44  $lng_mock = $this->getMockBuilder(ilLanguage::class)->disableOriginalConstructor()->onlyMethods(['txt'])->getMock();
45  $lng_mock->expects($this->any())->method('txt')->willReturn('Test');
46  $this->setGlobalVariable('lng', $lng_mock);
47 
48  $dataCache_mock = $this->getMockBuilder(ilObjectDataCache::class)->disableOriginalConstructor()->getMock();
49  $this->setGlobalVariable('ilObjDataCache', $dataCache_mock);
50 
51  $access_mock = $this->createMock(ilAccessHandler::class);
52  $this->setGlobalVariable('ilAccess', $access_mock);
53 
54  $help_mock = $this->getMockBuilder(ilHelpGUI::class)->disableOriginalConstructor()->getMock();
55  $this->setGlobalVariable('ilHelp', $help_mock);
56 
57  $user_mock = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->getMock();
58  $this->setGlobalVariable('ilUser', $user_mock);
59 
60  $tabs_mock = $this->getMockBuilder(ilTabsGUI::class)->disableOriginalConstructor()->getMock();
61  $this->setGlobalVariable('ilTabs', $tabs_mock);
62 
63  $rbacsystem_mock = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
64  $this->setGlobalVariable('rbacsystem', $rbacsystem_mock);
65 
66  $rbacreview_mock = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->getMock();
67  $this->setGlobalVariable('rbacreview', $rbacreview_mock);
68 
69  $refineryMock = $this->getMockBuilder(RefineryFactory::class)->disableOriginalConstructor()->getMock();
70  $refineryMock->method('random')->willReturn($this->getMockBuilder(RandomGroup::class)->getMock());
71  $this->setGlobalVariable('refinery', $refineryMock);
72 
73  $dbMock = $this->createMock(ilDBInterface::class);
74  $this->setGlobalVariable('ilDB', $dbMock);
75 
76  $treeMock = $this->createMock(ilTree::class);
77  $this->setGlobalVariable('tree', $treeMock);
78 
79  $repository_mock = $this->createMock(ilComponentRepository::class);
80  $this->setGlobalVariable('component.repository', $repository_mock);
81 
82  $component_factory_mock = $this->createMock(ilComponentFactory::class);
83  $this->setGlobalVariable('component.factory', $component_factory_mock);
84 
85  $this->setGlobalVariable('http', $this->getMockBuilder(ILIAS\HTTP\Services::class)->disableOriginalConstructor()->getMock());
86 
87  $this->setGlobalVariable('upload', $this->createMock(ILIAS\FileUpload\FileUpload::class));
88 
89  parent::setUp();
90  }
91 
92  protected function tearDown(): void
93  {
94  global $DIC;
95 
96  $DIC = $this->dic;
97 
98  parent::tearDown();
99  }
100 
105  protected function setGlobalVariable(string $name, $value): void
106  {
107  global $DIC;
108 
109  $GLOBALS[$name] = $value;
110 
111  unset($DIC[$name]);
112  $DIC[$name] = static function (Container $c) use ($value) {
113  return $value;
114  };
115  }
116 
117  protected function getGlobalTemplateMock()
118  {
119  return $this->getMockBuilder(\ilGlobalPageTemplate::class)->disableOriginalConstructor()->getMock();
120  }
121 
122  protected function getDatabaseMock()
123  {
124  return $this->getMockBuilder(\ilDBInterface::class)->disableOriginalConstructor()->getMock();
125  }
126  protected function getIRSSMock()
127  {
128  return $this->getMockBuilder(Services::class)->disableOriginalConstructor()->getMock();
129  }
130  protected function getFileDeliveryMock()
131  {
132  return $this->getMockBuilder(\ILIAS\FileDelivery\Services::class)->disableOriginalConstructor()->getMock();
133  }
134 
135  protected function getIliasMock()
136  {
137  $mock = $this->getMockBuilder(\ILIAS::class)->disableOriginalConstructor()->getMock();
138 
139  $account = new stdClass();
140  $account->id = 6;
141  $account->fullname = 'Esther Tester';
142 
143  $mock->account = $account;
144 
145  return $mock;
146  }
147 
148  protected function addGlobal_uiFactory(): void
149  {
150  $this->setGlobalVariable("ui.factory", $this->createMock(Factory::class));
151  }
152 
153  protected function addGlobal_uiRenderer(): void
154  {
155  $this->setGlobalVariable("ui.renderer", $this->createMock(ILIAS\UI\Implementation\DefaultRenderer::class));
156  }
157 }
Class ChatMainBarProvider .
Class assBaseTestCase.
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:35
global $DIC
Definition: feed.php:28
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$GLOBALS["DIC"]
Definition: wac.php:31
setGlobalVariable(string $name, $value)