ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilCertificateLearningHistoryProviderTest.php
Go to the documentation of this file.
1 <?php
2 
4 {
5  public function testIsActive()
6  {
7  $learningHistoryFactory = $this->getMockBuilder('ilLearningHistoryFactory')
8  ->disableOriginalConstructor()
9  ->getMock();
10 
11  $language = $this->getMockBuilder('ilLanguage')
12  ->disableOriginalConstructor()
13  ->getMock();
14 
15  $dic = $this->getMockBuilder('\ILIAS\DI\Container')
16  ->disableOriginalConstructor()
17  ->getMock();
18 
19  $template = $this->getMockBuilder('ilTemplate')
20  ->disableOriginalConstructor()
21  ->getMock();
22 
23  $userCertificateRepository = $this->getMockBuilder('ilUserCertificateRepository')
24  ->disableOriginalConstructor()
25  ->getMock();
26 
27  $controller = $this->getMockBuilder('ilCtrl')
28  ->disableOriginalConstructor()
29  ->getMock();
30 
31  $certificateSettings = $this->getMockBuilder('ilSetting')
32  ->disableOriginalConstructor()
33  ->getMock();
34 
35  $certificateSettings->method('get')
36  ->willReturn(true);
37 
38  $uiFactory = $this->getMockBuilder('ILIAS\UI\Factory')
39  ->disableOriginalConstructor()
40  ->getMock();
41 
42  $uiRenderer = $this->getMockBuilder('ILIAS\UI\Renderer')
43  ->disableOriginalConstructor()
44  ->getMock();
45 
47  10,
48  $learningHistoryFactory,
49  $language,
50  $template,
51  $dic,
52  $userCertificateRepository,
53  $controller,
54  $certificateSettings,
55  $uiFactory,
56  $uiRenderer
57  );
58 
59  $this->assertTrue($provider->isActive());
60  }
61 
62  public function testGetEntries()
63  {
64  $learningHistoryFactory = $this->getMockBuilder('ilLearningHistoryFactory')
65  ->disableOriginalConstructor()
66  ->getMock();
67 
68  $language = $this->getMockBuilder('ilLanguage')
69  ->disableOriginalConstructor()
70  ->getMock();
71 
72  $language->method('txt')
73  ->willReturnOnConsecutiveCalls(
74  'Certificate for %1$s',
75  '%1$s achieved.',
76  'Certificate for %1$s',
77  '%1$s achieved.'
78  );
79 
80  $dic = $this->getMockBuilder('\ILIAS\DI\Container')
81  ->disableOriginalConstructor()
82  ->getMock();
83 
84  $template = $this->getMockBuilder('ilTemplate')
85  ->disableOriginalConstructor()
86  ->getMock();
87 
88  $template->method('get')
89  ->willReturnOnConsecutiveCalls('Course Title', 'Test Title');
90 
91  $userCertificateRepository = $this->getMockBuilder('ilUserCertificateRepository')
92  ->disableOriginalConstructor()
93  ->getMock();
94 
95  $userCertificateRepository->method('fetchActiveCertificatesInIntervalForPresentation')
96  ->willReturn(
97  array(
99  200,
100  'crs',
101  new ilUserCertificate(
102  1,
103  200,
104  'crs',
105  300,
106  'Ilyas Odys',
107  123456789,
108  '<xml>Some Content</xml>',
109  '["SOME_PLACEHOLDER"]',
110  null,
111  1,
112  'v5.4.0',
113  true,
114  '/some/where/background_1.jpg',
115  '/some/where/else/thumbnail_1.jpg',
116  40
117  ),
118  'Course Title',
119  'Course Description'
120  ),
122  500,
123  'tst',
124  new ilUserCertificate(
125  5,
126  500,
127  'tst',
128  5000,
129  'Ilyas Odys',
130  987654321,
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  50
140  ),
141  'Test Title',
142  'Test Description'
143  )
144  )
145  );
146 
147  $controller = $this->getMockBuilder('ilCtrl')
148  ->disableOriginalConstructor()
149  ->getMock();
150 
151  $controller
152  ->expects($this->exactly(2))
153  ->method('getLinkTargetByClass')
154  ->willReturn('<a href> </a>');
155 
156  $controller
157  ->expects($this->exactly(2))
158  ->method('clearParametersByClass');
159 
160  $controller
161  ->expects($this->exactly(2))
162  ->method('setParameterByClass');
163 
164  $certificateSettings = $this->getMockBuilder('ilSetting')
165  ->disableOriginalConstructor()
166  ->getMock();
167 
168  $certificateSettings->method('get')
169  ->willReturn(true);
170 
171  $uiFactory = $this->getMockBuilder('ILIAS\UI\Factory')
172  ->disableOriginalConstructor()
173  ->getMock();
174 
175  $link = $this->getMockBuilder('\ILIAS\UI\Component\Link\Factory')
176  ->disableOriginalConstructor()
177  ->getMock();
178 
179  $std_link = $this->getMockBuilder('\ILIAS\UI\Component\Link\Standard')
180  ->disableOriginalConstructor()
181  ->getMock();
182 
183  $link->method('standard')
184  ->withConsecutive(
185  array('Course Title', '<a href> </a>'),
186  array('Test Title', '<a href> </a>')
187  )
188  ->willReturn($std_link);
189 
190  $uiFactory->method('link')
191  ->willReturn($link);
192 
193  $uiRenderer = $this->getMockBuilder('ILIAS\UI\Renderer')
194  ->disableOriginalConstructor()
195  ->getMock();
196 
197  $uiRenderer->method('render')
198  ->with($std_link)
199  ->willReturn('link');
200 
201  $utilHelper = $this->getMockBuilder('ilCertificateUtilHelper')
202  ->disableOriginalConstructor()
203  ->getMock();
204 
205  $utilHelper->method('getImagePath')
206  ->willReturn('/some/acutal/image/path/background.png');
207 
208  $provider = new ilCertificateLearningHistoryProvider(
209  10,
210  $learningHistoryFactory,
211  $language,
212  $template,
213  $dic,
214  $userCertificateRepository,
215  $controller,
216  $certificateSettings,
217  $uiFactory,
218  $uiRenderer,
219  $utilHelper
220  );
221 
222  $expectedEntries = array(
224  'Certificate for link achieved.',
225  'Certificate for link achieved.',
226  '/some/acutal/image/path/background.png',
227  123456789,
228  200
229  ),
231  'Certificate for link achieved.',
232  'Certificate for link achieved.',
233  '/some/acutal/image/path/background.png',
234  987654321,
235  500
236  ),);
237 
238  $actualEntries = $provider->getEntries(123456789, 987654321);
239  $this->assertEquals($expectedEntries, $actualEntries);
240  }
241 
242  public function testGetName()
243  {
244  $learningHistoryFactory = $this->getMockBuilder('ilLearningHistoryFactory')
245  ->disableOriginalConstructor()
246  ->getMock();
247 
248  $language = $this->getMockBuilder('ilLanguage')
249  ->disableOriginalConstructor()
250  ->getMock();
251 
252  $language
253  ->expects($this->once())
254  ->method('txt')
255  ->willReturn('Certificates');
256 
257  $dic = $this->getMockBuilder('\ILIAS\DI\Container')
258  ->disableOriginalConstructor()
259  ->getMock();
260 
261  $template = $this->getMockBuilder('ilTemplate')
262  ->disableOriginalConstructor()
263  ->getMock();
264 
265  $userCertificateRepository = $this->getMockBuilder('ilUserCertificateRepository')
266  ->disableOriginalConstructor()
267  ->getMock();
268 
269  $controller = $this->getMockBuilder('ilCtrl')
270  ->disableOriginalConstructor()
271  ->getMock();
272 
273  $certificateSettings = $this->getMockBuilder('ilSetting')
274  ->disableOriginalConstructor()
275  ->getMock();
276 
277  $certificateSettings->method('get')
278  ->willReturn(true);
279 
280  $uiFactory = $this->getMockBuilder('ILIAS\UI\Factory')
281  ->disableOriginalConstructor()
282  ->getMock();
283 
284  $uiRenderer = $this->getMockBuilder('ILIAS\UI\Renderer')
285  ->disableOriginalConstructor()
286  ->getMock();
287 
288  $provider = new ilCertificateLearningHistoryProvider(
289  10,
290  $learningHistoryFactory,
291  $language,
292  $template,
293  $dic,
294  $userCertificateRepository,
295  $controller,
296  $certificateSettings,
297  $uiFactory,
298  $uiRenderer
299  );
300 
301  $this->assertEquals('Certificates', $provider->getName());
302  }
303 }
Class ilCertificateBaseTestCase.
$dic
Definition: result.php:13