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 '',
141 '',
142 40
143 ),
144 'Course Title',
145 'Course Description'
146 ),
148 500,
149 'tst',
151 5,
152 500,
153 'tst',
154 5000,
155 'Ilyas Odys',
156 987_654_321,
157 '<xml>Some Content</xml>',
158 '["SOME_PLACEHOLDER"]',
159 null,
160 1,
161 'v5.4.0',
162 true,
164 '',
165 '',
166 50
167 ),
168 'Test Title',
169 'Test Description'
170 )
171 ]
172 );
173
174 $controller = $this->getMockBuilder(ilCtrlInterface::class)
175 ->disableOriginalConstructor()
176 ->getMock();
177
178 $controller
179 ->expects($this->exactly(2))
180 ->method('getLinkTargetByClass')
181 ->willReturn('<a href> </a>');
182
183 $controller
184 ->expects($this->exactly(2))
185 ->method('clearParametersByClass');
186
187 $controller
188 ->expects($this->exactly(2))
189 ->method('setParameterByClass');
190
191 $certificateSettings = $this->getMockBuilder(ilSetting::class)
192 ->disableOriginalConstructor()
193 ->getMock();
194
195 $certificateSettings->method('get')
196 ->willReturn('1');
197
198 $uiFactory = $this->getMockBuilder(
ILIAS\UI\Factory::class)
199 ->disableOriginalConstructor()
200 ->getMock();
201
202 $link = $this->getMockBuilder(\
ILIAS\UI\
Component\Link\Factory::class)
203 ->disableOriginalConstructor()
204 ->getMock();
205
206 $std_link = $this->getMockBuilder(\
ILIAS\UI\
Component\Link\Standard::class)
207 ->disableOriginalConstructor()
208 ->getMock();
209
210 $consecutive = ['Course Title', 'Test Title'];
211 $link->method('standard')
212 ->with(
213 $this->callback(function ($value) use (&$consecutive) {
214 $this->assertSame(array_shift($consecutive), $value);
215 return true;
216 }),
217 $this->identicalTo('<a href> </a>')
218 )
219 ->willReturn($std_link);
220
221 $uiFactory->method('link')
222 ->willReturn($link);
223
224 $uiRenderer = $this->getMockBuilder(
ILIAS\UI\Renderer::class)
225 ->disableOriginalConstructor()
226 ->getMock();
227
228 $uiRenderer->method('render')
229 ->with($std_link)
230 ->willReturn('link');
231
232 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
233 ->disableOriginalConstructor()
234 ->getMock();
235
236 $utilHelper->method('getImagePath')
237 ->willReturn('/some/acutal/image/path/background.png');
238
240 10,
241 $learningHistoryFactory,
242 $language,
243 $template,
245 $userCertificateRepository,
246 $controller,
247 $certificateSettings,
248 $uiFactory,
249 $uiRenderer,
250 $utilHelper
251 );
252
253 $expectedEntries = [
255 'Certificate for link achieved.',
256 'Certificate for link achieved.',
257 '/some/acutal/image/path/background.png',
258 123_456_789,
259 200
260 ),
262 'Certificate for link achieved.',
263 'Certificate for link achieved.',
264 '/some/acutal/image/path/background.png',
265 987_654_321,
266 500
267 ),
268 ];
269
270 $actualEntries =
$provider->getEntries(123_456_789, 987_654_321);
271 $this->assertEquals($expectedEntries, $actualEntries);
272 }
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.