ILIAS  trunk Revision v12.0_alpha-1541-g23eaa5e013d
ilCertificatePdfActionTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22{
24 {
25 $pdfGenerator = $this->getMockBuilder(ilPdfGenerator::class)
26 ->disableOriginalConstructor()
27 ->onlyMethods(['generateCurrentActiveCertificate'])
28 ->getMock();
29
30 $pdfGenerator->method('generateCurrentActiveCertificate')
31 ->willReturn('Something');
32
33 $ilUtilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
34 ->disableOriginalConstructor()
35 ->getMock();
36
37 $errorHandler = $this->getMockBuilder(ilErrorHandling::class)
38 ->disableOriginalConstructor()
39 ->getMock();
40
41 $pdfAction = new ilCertificatePdfAction(
42 $pdfGenerator,
43 $ilUtilHelper,
44 'translatedError',
45 $errorHandler
46 );
47
48 $result = $pdfAction->createPDF(10, 200);
49
50 $this->assertSame('Something', $result);
51 }
52
53 public function testPdfDownloadAction(): void
54 {
55 $pdfGenerator = $this->getMockBuilder(ilPdfGenerator::class)
56 ->disableOriginalConstructor()
57 ->onlyMethods(['generateCurrentActiveCertificate', 'generateFileName'])
58 ->getMock();
59
60 $pdfGenerator->method('generateCurrentActiveCertificate')
61 ->willReturn('Something');
62
63 $pdfGenerator->method('generateFileName')
64 ->willReturn('some_file_name.pdf');
65
66 $ilUtilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
67 ->disableOriginalConstructor()
68 ->getMock();
69
70 $ilUtilHelper
71 ->expects($this->once())
72 ->method('deliverData')
73 ->with(
74 'Something',
75 'some_file_name.pdf',
76 'application/pdf'
77 );
78
79 $errorHandler = $this->getMockBuilder(ilErrorHandling::class)
80 ->disableOriginalConstructor()
81 ->getMock();
82
83 $pdfAction = new ilCertificatePdfAction(
84 $pdfGenerator,
85 $ilUtilHelper,
86 'translatedError',
87 $errorHandler
88 );
89 $result = $pdfAction->downloadPdf(10, 200);
90
91 $this->assertSame('Something', $result);
92 }
93
95 {
96 $pdfGenerator = $this->getMockBuilder(ilPdfGenerator::class)
97 ->disableOriginalConstructor()
98 ->onlyMethods(['generateCurrentActiveCertificate', 'generateFileName'])
99 ->getMock();
100
101 $pdfGenerator->method('generateCurrentActiveCertificate')
102 ->willReturn('Something');
103
104 $pdfGenerator->method('generateFileName')
105 ->willReturn('some_file_name.pdf');
106
107 $ilUtilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
108 ->disableOriginalConstructor()
109 ->getMock();
110
111 $ilUtilHelper
112 ->expects($this->once())
113 ->method('deliverData')
114 ->with(
115 'Something',
116 'some_file_name.pdf',
117 'application/pdf'
118 )
119 ->willThrowException(new ilRpcClientException(''));
120
121
122 $errorHandler = $this->getMockBuilder(ilErrorHandling::class)
123 ->disableOriginalConstructor()
124 ->onlyMethods(['raiseError'])
125 ->getMock();
126
127 $errorHandler
128 ->expects($this->once())
129 ->method('raiseError');
130
131 $pdfAction = new ilCertificatePdfAction($pdfGenerator, $ilUtilHelper, '', $errorHandler);
132
133 $result = $pdfAction->downloadPdf(10, 200);
134
135 $this->assertSame('', $result);
136 }
137}
Class ilRpcClientException.