189 : void
190 {
191 $formData = [
192 'certificate_text' => '<xml> Some Context </xml>',
193 'margin_body' => [
194 'top' => '1cm',
195 'right' => '2cm',
196 'bottom' => '3cm',
197 'left' => '4cm'
198 ],
199 'pageformat' => 'custom',
200 'pagewidth' => '210mm',
201 'pageheight' => '297mm'
202 ];
203
204 $settings = $this->getMockBuilder(ilSetting::class)
205 ->disableOriginalConstructor()
206 ->getMock();
207
209 ->willReturn('Something');
210
211 $pageFormats = $this->getMockBuilder(ilPageFormats::class)
212 ->disableOriginalConstructor()
213 ->getMock();
214
215 $pageFormats->method('fetchPageFormats')
216 ->willReturn([
217 'a4' => [
218 'name' => 'A4',
219 'value' => 'a4',
220 'width' => '210mm',
221 'height' => '297mm'
222 ],
223 ]);
224
226
227 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
228 ->getMock();
229
230 $utilHelper->method('stripSlashes')
231 ->willReturnOnConsecutiveCalls(
232 '297mm',
233 '210mm',
234 '1cm',
235 '2cm',
236 '3cm',
237 '4cm'
238 );
239
240 $xlstProcess = $this->getMockBuilder(ilCertificateXlstProcess::class)
241 ->getMock();
242
243 $xlstProcess->method('process')
244 ->with(
245 [
246 '/_xml' => '<html><body><xml> Some Context </xml></body></html>',
247 '/_xsl' => '<xml>Some XLS Content</xml>'
248 ],
249 [
250 'pageheight' => '297mm',
251 'pagewidth' => '210mm',
252 'backgroundimage' => '[BACKGROUND_IMAGE]',
253 'marginbody' => '1cm 2cm 3cm 4cm'
254 ]
255 )
256 ->willReturn('Something Processed');
257
258 $language = $this->getMockBuilder(ilLanguage::class)
259 ->disableOriginalConstructor()
260 ->getMock();
261
262 $certificateXlsFileLoader = $this->getMockBuilder(ilCertificateXlsFileLoader::class)
263 ->getMock();
264
265 $certificateXlsFileLoader->method('getXlsCertificateContent')
266 ->willReturn('<xml>Some XLS Content</xml>');
267
270 $pageFormats,
271 $xmlChecker,
272 $utilHelper,
273 $xlstProcess,
274 $language,
275 $certificateXlsFileLoader
276 );
277
278 $output = $xlsFoParser->parse($formData);
279
280 $this->assertSame('Something Processed', $output);
281 }