87 : 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,
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,
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,
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 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.