ILIAS  release_7 Revision v7.30-3-g800a261c036
ilCertificateCourseLearningProgressEvaluationTest.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3
8{
10 {
11 $templateRepository = $this->getMockBuilder('ilCertificateTemplateRepository')
12 ->disableOriginalConstructor()
13 ->getMock();
14
15 $templateRepository->method('fetchActiveTemplatesByType')
16 ->willReturn(
17 array(
19 5,
20 'crs',
21 '<xml>Some Content</xml>',
22 md5('<xml>Some Content</xml>'),
23 '[]',
24 '1',
25 'v5.4.0',
26 123456789,
27 true,
28 '/some/where/background.jpg',
29 '/some/where/thumbnail.svg',
30 1
31 ),
33 6,
34 'crs',
35 '<xml>Some Content</xml>',
36 md5('<xml>Some Content</xml>'),
37 '[]',
38 '1',
39 'v5.4.0',
40 123456789,
41 true,
42 '/some/where/background.jpg',
43 '/some/where/thumbnail.svg',
44 5
45 ),
46 )
47 );
48
49 $setting = $this->getMockBuilder('ilSetting')
50 ->disableOriginalConstructor()
51 ->getMock();
52
53 $setting
54 ->method('get')
55 ->withConsecutive(
56 array('cert_subitems_5'),
57 array('cert_subitems_6')
58 )
59 ->willReturnOnConsecutiveCalls(
60 '[10,20]',
61 '[10,500]'
62 );
63
64 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
65 ->getMock();
66
67 $objectHelper->method('lookupObjId')
68 ->withConsecutive(
69 array(10),
70 array(20),
71 array(10),
72 array(500)
73 )
74 ->willReturnOnConsecutiveCalls(100, 200, 100, 500);
75
76 $statusHelper = $this->getMockBuilder('ilCertificateLPStatusHelper')
77 ->getMock();
78
79 $statusHelper->method('lookUpStatus')
80 ->withConsecutive(
81 array(100),
82 array(200),
83 array(100),
84 array(500)
85 )
86 ->willReturnOnConsecutiveCalls(
91 );
92
93 $trackingHelper = $this->getMockBuilder('ilCertificateObjUserTrackingHelper')
94 ->getMock();
95
96 $trackingHelper->method('enabledLearningProgress')->willReturn(false);
97
99 $templateRepository,
100 $setting,
101 $objectHelper,
102 $statusHelper,
103 $trackingHelper
104 );
105
106 $completedCourses = $evaluation->evaluate(10, 200);
107
108 $this->assertEquals(5, $completedCourses[0]->getObjId());
109 }
110
112 {
113 $templateRepository = $this->getMockBuilder('ilCertificateTemplateRepository')
114 ->disableOriginalConstructor()
115 ->getMock();
116
117 $templateRepository->method('fetchActiveTemplatesByType')
118 ->willReturn(
119 array(
121 5,
122 'crs',
123 '<xml>Some Content</xml>',
124 md5('<xml>Some Content</xml>'),
125 '[]',
126 '1',
127 'v5.4.0',
128 123456789,
129 true,
130 '/some/where/background.jpg',
131 '/some/where/thumbnail.svg',
132 1
133 ),
135 6,
136 'crs',
137 '<xml>Some Content</xml>',
138 md5('<xml>Some Content</xml>'),
139 '[]',
140 '1',
141 'v5.4.0',
142 123456789,
143 true,
144 '/some/where/background.jpg',
145 '/some/where/thumbnail.svg',
146 5
147 ),
148 )
149 );
150
151 $setting = $this->getMockBuilder('ilSetting')
152 ->disableOriginalConstructor()
153 ->getMock();
154
155 $setting
156 ->method('get')
157 ->withConsecutive(
158 array('cert_subitems_5'),
159 array('cert_subitems_6')
160 )
161 ->willReturnOnConsecutiveCalls(
162 '[10,20]',
163 '[10,500]'
164 );
165
166 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
167 ->getMock();
168
169 $objectHelper->method('lookupObjId')
170 ->withConsecutive(
171 array(10),
172 array(20),
173 array(10),
174 array(500)
175 )
176 ->willReturnOnConsecutiveCalls(100, 200, 100, 500);
177
178 $statusHelper = $this->getMockBuilder('ilCertificateLPStatusHelper')
179 ->getMock();
180
181 $statusHelper->method('lookUpStatus')
182 ->withConsecutive(
183 array(100),
184 array(200),
185 array(100),
186 array(500)
187 )
188 ->willReturnOnConsecutiveCalls(
193 );
194
195 $trackingHelper = $this->getMockBuilder('ilCertificateObjUserTrackingHelper')
196 ->getMock();
197
198 $trackingHelper->method('enabledLearningProgress')->willReturn(false);
199
201 $templateRepository,
202 $setting,
203 $objectHelper,
204 $statusHelper,
205 $trackingHelper
206 );
207
208 $completedCourses = $evaluation->evaluate(10, 200);
209
210 $this->assertEquals(5, $completedCourses[0]->getObjId());
211 $this->assertEquals(6, $completedCourses[1]->getObjId());
212 }
213
215 {
216 $templateRepository = $this->getMockBuilder('ilCertificateTemplateRepository')
217 ->disableOriginalConstructor()
218 ->getMock();
219
220 $templateRepository->method('fetchActiveTemplatesByType')
221 ->willReturn(
222 array(
224 5,
225 'crs',
226 '<xml>Some Content</xml>',
227 md5('<xml>Some Content</xml>'),
228 '[]',
229 '1',
230 'v5.4.0',
231 123456789,
232 true,
233 '/some/where/background.jpg',
234 '/some/where/thumbnail.svg',
235 1
236 ),
238 6,
239 'crs',
240 '<xml>Some Content</xml>',
241 md5('<xml>Some Content</xml>'),
242 '[]',
243 '1',
244 'v5.4.0',
245 123456789,
246 true,
247 '/some/where/background.jpg',
248 '/some/where/thumbnail.svg',
249 5
250 ),
251 )
252 );
253
254 $setting = $this->getMockBuilder('ilSetting')
255 ->disableOriginalConstructor()
256 ->getMock();
257
258 $setting
259 ->method('get')
260 ->withConsecutive(
261 array('cert_subitems_5'),
262 array('cert_subitems_6')
263 )
264 ->willReturnOnConsecutiveCalls(
265 false,
266 false
267 );
268
269 $objectHelper = $this->getMockBuilder('ilCertificateObjectHelper')
270 ->getMock();
271
272 $statusHelper = $this->getMockBuilder('ilCertificateLPStatusHelper')
273 ->getMock();
274
275 $trackingHelper = $this->getMockBuilder('ilCertificateObjUserTrackingHelper')
276 ->getMock();
277
278 $trackingHelper->method('enabledLearningProgress')->willReturn(false);
279
281 $templateRepository,
282 $setting,
283 $objectHelper,
284 $statusHelper,
285 $trackingHelper
286 );
287
288 $completedCourses = $evaluation->evaluate(10, 200);
289
290 $this->assertEquals(array(), $completedCourses);
291 }
292}
An exception for terminatinating execution or to throw for unit testing.
Class ilCertificateBaseTestCase.
const LP_STATUS_COMPLETED_NUM
const LP_STATUS_IN_PROGRESS