ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilCertificateLearningHistoryProviderTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24{
25 public function testIsActive(): void
26 {
27 $learningHistoryFactory = $this->getMockBuilder(ilLearningHistoryFactory::class)
28 ->disableOriginalConstructor()
29 ->getMock();
30
31 $language = $this->getMockBuilder(ilLanguage::class)
32 ->disableOriginalConstructor()
33 ->getMock();
34
35 $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
36 ->disableOriginalConstructor()
37 ->getMock();
38
39 $template = $this->getMockBuilder(ilTemplate::class)
40 ->disableOriginalConstructor()
41 ->getMock();
42
43 $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
44 ->disableOriginalConstructor()
45 ->getMock();
46
47 $controller = $this->getMockBuilder(ilCtrlInterface::class)
48 ->disableOriginalConstructor()
49 ->getMock();
50
51 $certificateSettings = $this->getMockBuilder(ilSetting::class)
52 ->disableOriginalConstructor()
53 ->getMock();
54
55 $certificateSettings->method('get')
56 ->willReturn('1');
57
58 $uiFactory = $this->getMockBuilder(ILIAS\UI\Factory::class)
59 ->disableOriginalConstructor()
60 ->getMock();
61
62 $uiRenderer = $this->getMockBuilder(ILIAS\UI\Renderer::class)
63 ->disableOriginalConstructor()
64 ->getMock();
65
66 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
67 ->disableOriginalConstructor()
68 ->getMock();
69
71 10,
72 $learningHistoryFactory,
73 $language,
74 $template,
75 $dic,
76 $userCertificateRepository,
77 $controller,
78 $certificateSettings,
79 $uiFactory,
80 $uiRenderer,
81 $utilHelper
82 );
83
84 $this->assertTrue($provider->isActive());
85 }
86
87 public function testGetEntries(): void
88 {
89 $learningHistoryFactory = $this->getMockBuilder(ilLearningHistoryFactory::class)
90 ->disableOriginalConstructor()
91 ->getMock();
92
93 $language = $this->getMockBuilder(ilLanguage::class)
94 ->disableOriginalConstructor()
95 ->getMock();
96
97 $language->method('txt')
98 ->willReturnOnConsecutiveCalls(
99 'Certificate for %1$s',
100 '%1$s achieved.',
101 'Certificate for %1$s',
102 '%1$s achieved.'
103 );
104
105 $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
106 ->disableOriginalConstructor()
107 ->getMock();
108
109 $template = $this->getMockBuilder(ilTemplate::class)
110 ->disableOriginalConstructor()
111 ->getMock();
112
113 $template->method('get')
114 ->willReturnOnConsecutiveCalls('Course Title', 'Test Title');
115
116 $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
117 ->disableOriginalConstructor()
118 ->getMock();
119
120 $userCertificateRepository->method('fetchActiveCertificatesInIntervalForPresentation')
121 ->willReturn(
122 [
124 200,
125 'crs',
127 1,
128 200,
129 'crs',
130 300,
131 'Ilyas Odys',
132 123_456_789,
133 '<xml>Some Content</xml>',
134 '["SOME_PLACEHOLDER"]',
135 null,
136 1,
137 'v5.4.0',
138 true,
139 new CertificateId('11111111-2222-3333-4444-555555555555'),
140 '/some/where/background_1.jpg',
141 '/some/where/else/tile_image_1.jpg',
142 '',
143 '',
144 40
145 ),
146 'Course Title',
147 'Course Description'
148 ),
150 500,
151 'tst',
153 5,
154 500,
155 'tst',
156 5000,
157 'Ilyas Odys',
158 987_654_321,
159 '<xml>Some Content</xml>',
160 '["SOME_PLACEHOLDER"]',
161 null,
162 1,
163 'v5.4.0',
164 true,
165 new CertificateId('11111111-2222-3333-4444-555555555555'),
166 '',
167 '',
168 '/some/where/background_1.jpg',
169 '/some/where/else/tile_image_1.jpg',
170 50
171 ),
172 'Test Title',
173 'Test Description'
174 )
175 ]
176 );
177
178 $controller = $this->getMockBuilder(ilCtrlInterface::class)
179 ->disableOriginalConstructor()
180 ->getMock();
181
182 $controller
183 ->expects($this->exactly(2))
184 ->method('getLinkTargetByClass')
185 ->willReturn('<a href> </a>');
186
187 $controller
188 ->expects($this->exactly(2))
189 ->method('clearParametersByClass');
190
191 $controller
192 ->expects($this->exactly(2))
193 ->method('setParameterByClass');
194
195 $certificateSettings = $this->getMockBuilder(ilSetting::class)
196 ->disableOriginalConstructor()
197 ->getMock();
198
199 $certificateSettings->method('get')
200 ->willReturn('1');
201
202 $uiFactory = $this->getMockBuilder(ILIAS\UI\Factory::class)
203 ->disableOriginalConstructor()
204 ->getMock();
205
206 $link = $this->getMockBuilder(\ILIAS\UI\Component\Link\Factory::class)
207 ->disableOriginalConstructor()
208 ->getMock();
209
210 $std_link = $this->getMockBuilder(\ILIAS\UI\Component\Link\Standard::class)
211 ->disableOriginalConstructor()
212 ->getMock();
213
214 $consecutive = ['Course Title', 'Test Title'];
215 $link->method('standard')
216 ->with(
217 $this->callback(function ($value) use (&$consecutive) {
218 $this->assertSame(array_shift($consecutive), $value);
219 return true;
220 }),
221 $this->identicalTo('<a href> </a>')
222 )
223 ->willReturn($std_link);
224
225 $uiFactory->method('link')
226 ->willReturn($link);
227
228 $uiRenderer = $this->getMockBuilder(ILIAS\UI\Renderer::class)
229 ->disableOriginalConstructor()
230 ->getMock();
231
232 $uiRenderer->method('render')
233 ->with($std_link)
234 ->willReturn('link');
235
236 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
237 ->disableOriginalConstructor()
238 ->getMock();
239
240 $utilHelper->method('getImagePath')
241 ->willReturn('/some/acutal/image/path/background.png');
242
244 10,
245 $learningHistoryFactory,
246 $language,
247 $template,
248 $dic,
249 $userCertificateRepository,
250 $controller,
251 $certificateSettings,
252 $uiFactory,
253 $uiRenderer,
254 $utilHelper
255 );
256
257 $expectedEntries = [
259 'Certificate for link achieved.',
260 'Certificate for link achieved.',
261 '/some/acutal/image/path/background.png',
262 123_456_789,
263 200
264 ),
266 'Certificate for link achieved.',
267 'Certificate for link achieved.',
268 '/some/acutal/image/path/background.png',
269 987_654_321,
270 500
271 ),
272 ];
273
274 $actualEntries = $provider->getEntries(123_456_789, 987_654_321);
275 $this->assertEquals($expectedEntries, $actualEntries);
276 }
277
278 public function testGetName(): void
279 {
280 $learningHistoryFactory = $this->getMockBuilder(ilLearningHistoryFactory::class)
281 ->disableOriginalConstructor()
282 ->getMock();
283
284 $language = $this->getMockBuilder(ilLanguage::class)
285 ->disableOriginalConstructor()
286 ->getMock();
287
288 $language
289 ->expects($this->once())
290 ->method('txt')
291 ->willReturn('Certificates');
292
293 $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
294 ->disableOriginalConstructor()
295 ->getMock();
296
297 $template = $this->getMockBuilder(ilTemplate::class)
298 ->disableOriginalConstructor()
299 ->getMock();
300
301 $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
302 ->disableOriginalConstructor()
303 ->getMock();
304
305 $controller = $this->getMockBuilder(ilCtrlInterface::class)
306 ->disableOriginalConstructor()
307 ->getMock();
308
309 $certificateSettings = $this->getMockBuilder(ilSetting::class)
310 ->disableOriginalConstructor()
311 ->getMock();
312
313 $certificateSettings->method('get')
314 ->willReturn('1');
315
316 $uiFactory = $this->getMockBuilder(ILIAS\UI\Factory::class)
317 ->disableOriginalConstructor()
318 ->getMock();
319
320 $uiRenderer = $this->getMockBuilder(ILIAS\UI\Renderer::class)
321 ->disableOriginalConstructor()
322 ->getMock();
323
324 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
325 ->disableOriginalConstructor()
326 ->getMock();
327
329 10,
330 $learningHistoryFactory,
331 $language,
332 $template,
333 $dic,
334 $userCertificateRepository,
335 $controller,
336 $certificateSettings,
337 $uiFactory,
338 $uiRenderer,
339 $utilHelper
340 );
341
342 $this->assertSame('Certificates', $provider->getName());
343 }
344}
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$provider
Definition: ltitoken.php:80
Class HTTPServicesTest.
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.