ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
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 
65  10,
66  $learningHistoryFactory,
67  $language,
68  $template,
69  $dic,
70  $userCertificateRepository,
71  $controller,
72  $certificateSettings,
73  $uiFactory,
74  $uiRenderer
75  );
76 
77  $this->assertTrue($provider->isActive());
78  }
79 
80  public function testGetEntries(): void
81  {
82  $learningHistoryFactory = $this->getMockBuilder(ilLearningHistoryFactory::class)
83  ->disableOriginalConstructor()
84  ->getMock();
85 
86  $language = $this->getMockBuilder(ilLanguage::class)
87  ->disableOriginalConstructor()
88  ->getMock();
89 
90  $language->method('txt')
91  ->willReturnOnConsecutiveCalls(
92  'Certificate for %1$s',
93  '%1$s achieved.',
94  'Certificate for %1$s',
95  '%1$s achieved.'
96  );
97 
98  $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
99  ->disableOriginalConstructor()
100  ->getMock();
101 
102  $template = $this->getMockBuilder(ilTemplate::class)
103  ->disableOriginalConstructor()
104  ->getMock();
105 
106  $template->method('get')
107  ->willReturnOnConsecutiveCalls('Course Title', 'Test Title');
108 
109  $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
110  ->disableOriginalConstructor()
111  ->getMock();
112 
113  $userCertificateRepository->method('fetchActiveCertificatesInIntervalForPresentation')
114  ->willReturn(
115  [
117  200,
118  'crs',
119  new ilUserCertificate(
120  1,
121  200,
122  'crs',
123  300,
124  'Ilyas Odys',
125  123456789,
126  '<xml>Some Content</xml>',
127  '["SOME_PLACEHOLDER"]',
128  null,
129  1,
130  'v5.4.0',
131  true,
132  '/some/where/background_1.jpg',
133  '/some/where/else/thumbnail_1.jpg',
134  40
135  ),
136  'Course Title',
137  'Course Description'
138  ),
140  500,
141  'tst',
142  new ilUserCertificate(
143  5,
144  500,
145  'tst',
146  5000,
147  'Ilyas Odys',
148  987654321,
149  '<xml>Some Content</xml>',
150  '["SOME_PLACEHOLDER"]',
151  null,
152  1,
153  'v5.4.0',
154  true,
155  '/some/where/background_1.jpg',
156  '/some/where/else/thumbnail_1.jpg',
157  50
158  ),
159  'Test Title',
160  'Test Description'
161  )
162  ]
163  );
164 
165  $controller = $this->getMockBuilder(ilCtrlInterface::class)
166  ->disableOriginalConstructor()
167  ->getMock();
168 
169  $controller
170  ->expects($this->exactly(2))
171  ->method('getLinkTargetByClass')
172  ->willReturn('<a href> </a>');
173 
174  $controller
175  ->expects($this->exactly(2))
176  ->method('clearParametersByClass');
177 
178  $controller
179  ->expects($this->exactly(2))
180  ->method('setParameterByClass');
181 
182  $certificateSettings = $this->getMockBuilder(ilSetting::class)
183  ->disableOriginalConstructor()
184  ->getMock();
185 
186  $certificateSettings->method('get')
187  ->willReturn('1');
188 
189  $uiFactory = $this->getMockBuilder(ILIAS\UI\Factory::class)
190  ->disableOriginalConstructor()
191  ->getMock();
192 
193  $link = $this->getMockBuilder(\ILIAS\UI\Component\Link\Factory::class)
194  ->disableOriginalConstructor()
195  ->getMock();
196 
197  $std_link = $this->getMockBuilder(\ILIAS\UI\Component\Link\Standard::class)
198  ->disableOriginalConstructor()
199  ->getMock();
200 
201  $link->method('standard')
202  ->withConsecutive(
203  ['Course Title', '<a href> </a>'],
204  ['Test Title', '<a href> </a>']
205  )
206  ->willReturn($std_link);
207 
208  $uiFactory->method('link')
209  ->willReturn($link);
210 
211  $uiRenderer = $this->getMockBuilder(ILIAS\UI\Renderer::class)
212  ->disableOriginalConstructor()
213  ->getMock();
214 
215  $uiRenderer->method('render')
216  ->with($std_link)
217  ->willReturn('link');
218 
219  $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
220  ->disableOriginalConstructor()
221  ->getMock();
222 
223  $utilHelper->method('getImagePath')
224  ->willReturn('/some/acutal/image/path/background.png');
225 
227  10,
228  $learningHistoryFactory,
229  $language,
230  $template,
231  $dic,
232  $userCertificateRepository,
233  $controller,
234  $certificateSettings,
235  $uiFactory,
236  $uiRenderer,
237  $utilHelper
238  );
239 
240  $expectedEntries = [
242  'Certificate for link achieved.',
243  'Certificate for link achieved.',
244  '/some/acutal/image/path/background.png',
245  123456789,
246  200
247  ),
249  'Certificate for link achieved.',
250  'Certificate for link achieved.',
251  '/some/acutal/image/path/background.png',
252  987654321,
253  500
254  ),
255  ];
256 
257  $actualEntries = $provider->getEntries(123456789, 987654321);
258  $this->assertEquals($expectedEntries, $actualEntries);
259  }
260 
261  public function testGetName(): void
262  {
263  $learningHistoryFactory = $this->getMockBuilder(ilLearningHistoryFactory::class)
264  ->disableOriginalConstructor()
265  ->getMock();
266 
267  $language = $this->getMockBuilder(ilLanguage::class)
268  ->disableOriginalConstructor()
269  ->getMock();
270 
271  $language
272  ->expects($this->once())
273  ->method('txt')
274  ->willReturn('Certificates');
275 
276  $dic = $this->getMockBuilder(\ILIAS\DI\Container::class)
277  ->disableOriginalConstructor()
278  ->getMock();
279 
280  $template = $this->getMockBuilder(ilTemplate::class)
281  ->disableOriginalConstructor()
282  ->getMock();
283 
284  $userCertificateRepository = $this->getMockBuilder(ilUserCertificateRepository::class)
285  ->disableOriginalConstructor()
286  ->getMock();
287 
288  $controller = $this->getMockBuilder(ilCtrlInterface::class)
289  ->disableOriginalConstructor()
290  ->getMock();
291 
292  $certificateSettings = $this->getMockBuilder(ilSetting::class)
293  ->disableOriginalConstructor()
294  ->getMock();
295 
296  $certificateSettings->method('get')
297  ->willReturn('1');
298 
299  $uiFactory = $this->getMockBuilder(ILIAS\UI\Factory::class)
300  ->disableOriginalConstructor()
301  ->getMock();
302 
303  $uiRenderer = $this->getMockBuilder(ILIAS\UI\Renderer::class)
304  ->disableOriginalConstructor()
305  ->getMock();
306 
308  10,
309  $learningHistoryFactory,
310  $language,
311  $template,
312  $dic,
313  $userCertificateRepository,
314  $controller,
315  $certificateSettings,
316  $uiFactory,
317  $uiRenderer
318  );
319 
320  $this->assertSame('Certificates', $provider->getName());
321  }
322 }
Class Factory.
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