ILIAS  release_8 Revision v8.24
ilScorm2004BaseTestCase.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
21use PHPUnit\Framework\TestCase;
22use PHPUnit\Framework\MockObject\MockObject;
28use ILIAS\Refinery\Factory as RefineryFactory;
29use ILIAS\Refinery\Random\Group as RandomGroup;
30
36class ilScorm2004BaseTestCase extends TestCase
37{
38 protected Container $dic;
39
43 protected function setUp(): void
44 {
45 $this->dic = new Container();
46 $GLOBALS['DIC'] = $this->dic;
47
48 parent::setUp();
49 }
50
54 protected function setGlobalVariable(string $name, $value): void
55 {
56 global $DIC;
57
58 $GLOBALS[$name] = $value;
59
60 unset($DIC[$name]);
61 $DIC[$name] = static fn (\ILIAS\DI\Container $c) => $value;
62 }
63
64 protected function getGlobalTemplateMock(): MockObject
65 {
66 return $this->getMockBuilder(ilTemplate::class)->disableOriginalConstructor()->getMock();
67 }
68
69 protected function getDatabaseMock(): MockObject
70 {
71 return $this->getMockBuilder(ilDBInterface::class)->disableOriginalConstructor()->getMock();
72 }
73
74 protected function getIliasMock(): MockObject
75 {
76 $mock = $this->getMockBuilder(ILIAS::class)->disableOriginalConstructor()->getMock();
77
78 $account = new stdClass();
79 $account->id = 6;
80 $account->fullname = 'Esther Tester';
81
82 $mock->account = $account;
83
84 return $mock;
85 }
86
87 protected function addGlobal_ilAccess(): void
88 {
89 $this->setGlobalVariable("ilAccess", $this->createMock(ilAccess::class));
90 }
91
92 protected function addGlobal_ilUser(): void
93 {
94 $this->setGlobalVariable("ilUser", $this->createMock(ilObjUser::class));
95 }
96
97 protected function addGlobal_objDefinition(): void
98 {
99 $this->setGlobalVariable("objDefinition", $this->createMock(ilObjectDefinition::class));
100 }
101
102 protected function addGlobal_tree(): void
103 {
104 $this->setGlobalVariable("tree", $this->createMock(ilTree::class));
105 }
106
107 protected function addGlobal_ilSetting(): void
108 {
109 $this->setGlobalVariable("ilSetting", $this->createMock(ilSetting::class));
110 }
111
112 protected function addGlobal_rbacsystem(): void
113 {
114 $this->setGlobalVariable("rbacsystem", $this->createMock(ilRbacSystem::class));
115 }
116
117 protected function addGlobal_ilCtrl(): void
118 {
119 $this->setGlobalVariable("ilCtrl", $this->createMock(ilCtrl::class));
120 }
121
122 protected function addGlobal_lng(): void
123 {
124 $this->setGlobalVariable("lng", $this->createMock(ilLanguage::class));
125 }
126
127 protected function addGlobal_filesystem(): void
128 {
129 $this->setGlobalVariable("filesystem", $this->createMock(Filesystems::class));
130 }
131
132 protected function addGlobal_upload(): void
133 {
134 $this->setGlobalVariable("upload", $this->createMock(FileUpload::class));
135 }
136
137 protected function addGlobal_ilDB(): void
138 {
139 $this->setGlobalVariable("ilDB", $this->createMock(ilDBInterface::class));
140 }
141
142 protected function addGlobal_ilLog(): void
143 {
144 $this->setGlobalVariable("ilLog", $this->createMock(ilLogger::class));
145 }
146
147 protected function addGlobal_ilias(): void
148 {
149 $this->setGlobalVariable("ilias", $this->getIliasMock());
150 }
151
152 protected function addGlobal_ilErr(): void
153 {
154 $this->setGlobalVariable("ilErr", $this->createMock(ilErrorHandling::class));
155 }
156
157 protected function addGlobal_ilAppEventHandler(): void
158 {
159 $this->setGlobalVariable("ilAppEventHandler", $this->createMock(ilAppEventHandler::class));
160 }
161
162 protected function addGlobal_tpl(): void
163 {
164 $this->setGlobalVariable("tpl", $this->createMock(ilGlobalPageTemplate::class));
165 }
166
167 protected function addGlobal_ilPluginAdmin(): void
168 {
169 $this->setGlobalVariable("ilPluginAdmin", $this->createMock(ilPluginAdmin::class));
170 }
171
172 protected function addGlobal_ilTabs(): void
173 {
174 $this->setGlobalVariable("ilTabs", $this->createMock(ilTabsGUI::class));
175 }
176
177 protected function addGlobal_ilObjDataCache(): void
178 {
179 $this->setGlobalVariable("ilObjDataCache", $this->createMock(ilObjectDataCache::class));
180 }
181
182 protected function addGlobal_ilLocator(): void
183 {
184 $this->setGlobalVariable("ilLocator", $this->createMock(ilLocatorGUI::class));
185 }
186
187 protected function addGlobal_rbacreview(): void
188 {
189 $this->setGlobalVariable("rbacreview", $this->createMock(ilRbacReview::class));
190 }
191
192 protected function addGlobal_ilToolbar(): void
193 {
194 $this->setGlobalVariable("ilToolbar", $this->createMock(ilToolbarGUI::class));
195 }
196
197 protected function addGlobal_http(): void
198 {
199 $this->setGlobalVariable("http", $this->createMock(Services::class));
200 }
201
202 protected function addGlobal_ilIliasIniFile(): void
203 {
204 $this->setGlobalVariable("ilIliasIniFile", $this->createMock(ilIniFile::class));
205 }
206
207 protected function addGlobal_ilLoggerFactory(): void
208 {
209 $this->setGlobalVariable("ilLoggerFactory", $this->createMock(ilLoggerFactory::class));
210 }
211
212 protected function addGlobal_ilHelp(): void
213 {
214 $this->setGlobalVariable("ilHelp", $this->createMock(ilHelp::class));
215 }
216
217 protected function addGlobal_uiFactory(): void
218 {
219 $this->setGlobalVariable("ui.factory", $this->createMock(Factory::class));
220 }
221
222 protected function addGlobal_uiRenderer(): void
223 {
224 $this->setGlobalVariable("ui.renderer", $this->createMock(ILIAS\UI\Implementation\DefaultRenderer::class));
225 }
226
227 protected function addGlobal_refinery(): void
228 {
229 $refineryMock = $this->getMockBuilder(RefineryFactory::class)->disableOriginalConstructor()->getMock();
230 $refineryMock->expects(self::any())->method('random')->willReturn($this->getMockBuilder(RandomGroup::class)->getMock());
231 $this->setGlobalVariable("refinery", $refineryMock);
232 }
233}
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:32
Builds data types.
Definition: Factory.php:21
Class Services.
Definition: Services.php:38
Class ilScorm2004BaseTestCase.
setGlobalVariable(string $name, $value)
$c
Definition: cli.php:38
global $DIC
Definition: feed.php:28
if($format !==null) $name
Definition: metadata.php:247
Class HTTPServicesTest.
Class ChatMainBarProvider \MainMenu\Provider.
Class Factory.