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