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