ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilCertificatePdfActionTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(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.