ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilCertificateTemplateImportActionTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
25 
27 {
29  {
30  $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
31  ->getMock();
32 
33  $logger = $this->getMockBuilder(ilLogger::class)
34  ->disableOriginalConstructor()
35  ->getMock();
36 
37  $filesystem = $this->getMockBuilder(ILIAS\Filesystem\Filesystem::class)
38  ->getMock();
39 
40  $filesystem
41  ->expects($this->once())
42  ->method('listContents')
43  ->willReturn([
44  new Metadata('certificate.xml', 'file'),
45  new Metadata('background.jpg', 'file'),
46  ]);
47 
48  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
49 
50  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
51  ->getMock();
52 
53  $objectHelper->method('lookupType')
54  ->willReturn('crs');
55 
56  $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
57  ->disableOriginalConstructor()
58  ->getMock();
59 
60  $utilHelper
61  ->method('moveUploadedFile')
62  ->willReturn(true);
63 
64  $unzip = $this->getMockBuilder(ILIAS\Filesystem\Util\Archive\Unzip::class)
65  ->disableOriginalConstructor()
66  ->getMock();
67  $unzip->expects($this->once())->method('extract')->willReturn(true);
68  $utilHelper
69  ->expects($this->once())
70  ->method('unzip')
71  ->willReturn($unzip);
72 
73  $database = $this->getMockBuilder(ilDBInterface::class)
74  ->disableOriginalConstructor()
75  ->getMock();
76 
77  $resource_ident = new ResourceIdentification('someId');
78 
79  $irss_manager = $this->getMockBuilder(Manager::class)
80  ->disableOriginalConstructor()
81  ->getMock();
82  $irss_manager->method('stream')->willReturn($resource_ident);
83  $irss = $this->getMockBuilder(IRSS::class)
84  ->disableOriginalConstructor()
85  ->getMock();
86  $irss->method('manage')->willReturn($irss_manager);
87 
89  100,
90  'some/path/certificate.xml',
91  $placeholderDescriptionObject,
92  $logger,
93  $filesystem,
94  $irss,
95  $templateRepository,
96  $objectHelper,
97  $utilHelper,
98  $database,
99  );
100 
101  $result = $action->import(
102  'someZipFile.zip',
103  'some/path/',
104  'some/root/path',
105  'v5.4.0',
106  'someInstallationId'
107  );
108 
109  $this->assertTrue($result);
110  }
111 
113  {
114  $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
115  ->getMock();
116 
117  $logger = $this->getMockBuilder(ilLogger::class)
118  ->disableOriginalConstructor()
119  ->getMock();
120 
121  $filesystem = $this->getMockBuilder(ILIAS\Filesystem\Filesystem::class)
122  ->getMock();
123 
124  $filesystem
125  ->expects($this->once())
126  ->method('listContents')
127  ->willReturn([
128  new Metadata('certificate.xml', 'file')
129  ]);
130 
131  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
132 
133  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
134  ->getMock();
135 
136  $objectHelper->method('lookupType')
137  ->willReturn('crs');
138 
139  $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
140  ->disableOriginalConstructor()
141  ->getMock();
142 
143  $utilHelper
144  ->method('moveUploadedFile')
145  ->willReturn(true);
146 
147  $unzip = $this->getMockBuilder(ILIAS\Filesystem\Util\Archive\Unzip::class)
148  ->disableOriginalConstructor()
149  ->getMock();
150  $unzip->expects($this->once())->method('extract')->willReturn(true);
151  $utilHelper
152  ->expects($this->once())
153  ->method('unzip')
154  ->willReturn($unzip);
155 
156  $database = $this->getMockBuilder(ilDBInterface::class)
157  ->disableOriginalConstructor()
158  ->getMock();
159 
160  $irss = $this->getMockBuilder(IRSS::class)
161  ->disableOriginalConstructor()
162  ->getMock();
163 
164  $action = new ilCertificateTemplateImportAction(
165  100,
166  'some/path/certificate.xml',
167  $placeholderDescriptionObject,
168  $logger,
169  $filesystem,
170  $irss,
171  $templateRepository,
172  $objectHelper,
173  $utilHelper,
174  $database,
175  );
176 
177  $result = $action->import(
178  'someZipFile.zip',
179  'some/path/',
180  'some/root/path',
181  'v5.4.0',
182  'someInstallationId'
183  );
184 
185  $this->assertTrue($result);
186  }
187 
188  public function testNoXmlFileInUplodadZipFolder(): void
189  {
190  $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
191  ->getMock();
192 
193  $logger = $this->getMockBuilder(ilLogger::class)
194  ->disableOriginalConstructor()
195  ->getMock();
196 
197  $filesystem = $this->getMockBuilder(ILIAS\Filesystem\Filesystem::class)
198  ->getMock();
199 
200  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
201 
202  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
203  ->getMock();
204 
205  $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
206  ->disableOriginalConstructor()
207  ->getMock();
208 
209  $utilHelper
210  ->method('moveUploadedFile')
211  ->willReturn(true);
212 
213  $unzip = $this->getMockBuilder(ILIAS\Filesystem\Util\Archive\Unzip::class)
214  ->disableOriginalConstructor()
215  ->getMock();
216  $unzip->expects($this->once())->method('extract')->willReturn(true);
217  $utilHelper
218  ->expects($this->once())
219  ->method('unzip')
220  ->willReturn($unzip);
221 
222  $filesystem
223  ->expects($this->once())
224  ->method('listContents')
225  ->willReturn([]);
226 
227  $database = $this->getMockBuilder(ilDBInterface::class)
228  ->disableOriginalConstructor()
229  ->getMock();
230 
231  $irss = $this->getMockBuilder(IRSS::class)
232  ->disableOriginalConstructor()
233  ->getMock();
234 
235  $action = new ilCertificateTemplateImportAction(
236  100,
237  'some/path/certificate.xml',
238  $placeholderDescriptionObject,
239  $logger,
240  $filesystem,
241  $irss,
242  $templateRepository,
243  $objectHelper,
244  $utilHelper,
245  $database,
246  );
247 
248  $result = $action->import(
249  'someZipFile.zip',
250  'some/path/',
251  'some/root/path',
252  'v5.4.0',
253  'someInstallationId'
254  );
255 
256  $this->assertFalse($result);
257  }
258 
259  public function testZipfileCouldNoBeMoved(): void
260  {
261  $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
262  ->disableOriginalConstructor()
263  ->getMock();
264 
265  $logger = $this->getMockBuilder(ilLogger::class)
266  ->disableOriginalConstructor()
267  ->getMock();
268 
269  $filesystem = $this->getMockBuilder(ILIAS\Filesystem\Filesystem::class)
270  ->getMock();
271 
272  $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
273 
274  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
275  ->getMock();
276 
277  $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
278  ->disableOriginalConstructor()
279  ->getMock();
280 
281  $utilHelper
282  ->method('moveUploadedFile')
283  ->willReturn(false);
284 
285  $database = $this->getMockBuilder(ilDBInterface::class)
286  ->disableOriginalConstructor()
287  ->getMock();
288 
289  $irss = $this->getMockBuilder(IRSS::class)
290  ->disableOriginalConstructor()
291  ->getMock();
292 
293  $action = new ilCertificateTemplateImportAction(
294  100,
295  'some/path/certificate.xml',
296  $placeholderDescriptionObject,
297  $logger,
298  $filesystem,
299  $irss,
300  $templateRepository,
301  $objectHelper,
302  $utilHelper,
303  $database,
304  );
305 
306  $result = $action->import(
307  'someZipFile.zip',
308  'some/path/',
309  'some/root/path',
310  'v5.4.0',
311  'someInstallationId'
312  );
313 
314  $this->assertFalse($result);
315  }
316 }
Interface Observer Contains several chained tasks and infos about them.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...