ILIAS  release_8 Revision v8.24
ilCertificateBackgroundImageUploadTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
27
32{
33 public function testFileCanBeUploaded(): void
34 {
35 $fileUpload = $this->getMockBuilder(FileUpload::class)
36 ->getMock();
37
38 $fileUpload->method('hasBeenProcessed')
39 ->willReturn(false);
40
41 $fileUpload->expects($this->once())
42 ->method('process');
43
44 $fileUpload->method('hasUploads')
45 ->willReturn(true);
46
47 $uploadResult = new UploadResult(
48 'phpunit',
49 1024,
50 'text/xml',
51 $this->getMockBuilder(ImmutableStringMap::class)->getMock(),
52 new ProcessingStatus(ProcessingStatus::OK, 'uploaded'),
53 '/tmp'
54 );
55
56 $fileUpload->method('getResults')
57 ->willReturn(["some/where/temporary" => $uploadResult]);
58
59 $fileUpload->expects($this->once())
60 ->method('moveOneFileTo');
61
62 $language = $this->getMockBuilder(ilLanguage::class)
63 ->disableOriginalConstructor()
64 ->getMock();
65
66 $logger = $this->getMockBuilder(ilLogger::class)
67 ->disableOriginalConstructor()
68 ->getMock();
69
70 $fileSystem = $this->getMockBuilder(Filesystem::class)
71 ->getMock();
72
73 $fileSystem->method('hasDir')
74 ->willReturn(true);
75
76 $fileSystem->method('has')
77 ->willReturn(true);
78
79 $fileSystem->expects($this->once())
80 ->method('delete');
81
82 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
83 ->getMock();
84
85 $utilHelper->expects($this->exactly(2))
86 ->method('convertImage');
87
88 $fileUtilsHelper = $this->getMockBuilder(ilCertificateFileUtilsHelper::class)
89 ->getMock();
90
91 $legacyPathHelper = $this->getMockBuilder(LegacyPathHelperHelper::class)
92 ->getMock();
93
94 $legacyPathHelper->method('createRelativePath')
95 ->willReturn('the/relative/path');
96
98 $fileUpload,
99 'certifcate/path/to/some/where',
100 $language,
101 $logger,
102 $fileSystem,
103 $utilHelper,
104 $fileUtilsHelper,
105 $legacyPathHelper,
106 'Some Root Directory',
107 'someclient',
108 $fileSystem
109 );
110
111 $upload->uploadBackgroundImage('some/where/temporary', 3);
112 }
113
117 public function testPendingFilesCanBeUploaded(): void
118 {
119 $fileUpload = $this->getMockBuilder(FileUpload::class)
120 ->getMock();
121
122 $fileUpload->method('hasBeenProcessed')
123 ->willReturn(false);
124
125 $fileUpload->expects($this->once())
126 ->method('process');
127
128 $fileUpload->method('hasUploads')
129 ->willReturn(true);
130
131 $uploadResult = new UploadResult(
132 '',
133 0,
134 '',
135 $this->getMockBuilder(ImmutableStringMap::class)->getMock(),
136 new ProcessingStatus(ProcessingStatus::REJECTED, 'rejected'),
137 ''
138 );
139
140 $fileUpload->method('getResults')
141 ->willReturn([0 => $uploadResult]);
142
143 $fileUpload->expects($this->never())
144 ->method('moveOneFileTo');
145
146 $language = $this->getMockBuilder(ilLanguage::class)
147 ->disableOriginalConstructor()
148 ->getMock();
149
150 $logger = $this->getMockBuilder(ilLogger::class)
151 ->disableOriginalConstructor()
152 ->getMock();
153
154 $fileSystem = $this->getMockBuilder(Filesystem::class)
155 ->getMock();
156
157 $fileSystem->method('hasDir')
158 ->willReturn(true);
159
160 $fileSystem->method('has')
161 ->willReturn(true);
162
163 $fileSystem->expects($this->once())
164 ->method('delete');
165
166 $fileSystem->expects($this->once())
167 ->method('writeStream');
168
169 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
170 ->getMock();
171
172 $utilHelper->expects($this->exactly(2))
173 ->method('convertImage');
174
175 $fileUtilsHelper = $this->getMockBuilder(ilCertificateFileUtilsHelper::class)
176 ->getMock();
177
178 $legacyPathHelper = $this->getMockBuilder(LegacyPathHelperHelper::class)
179 ->getMock();
180
181 $legacyPathHelper->method('createRelativePath')
182 ->willReturn('the/relative/path');
183
184 $tmp_file_system = $this->getMockBuilder(Filesystem::class)
185 ->getMock();
186 $tmp_file_system->expects($this->once())
187 ->method('readStream')
188 ->willReturn($this->getMockBuilder(FileStream::class)->getMock());
189
191 $fileUpload,
192 'certifcate/path/to/some/where',
193 $language,
194 $logger,
195 $fileSystem,
196 $utilHelper,
197 $fileUtilsHelper,
198 $legacyPathHelper,
199 'Some Root Directory',
200 'someclient',
201 $tmp_file_system
202 );
203
204 $upload->uploadBackgroundImage('some/where/temporary', 3, [
205 'name' => 'pending_file.jpg',
206 'tmp_name' => '/tmp/f04akasf492'
207 ]);
208 }
209}
testPendingFilesCanBeUploaded()
This test ensures the workaround for https://mantis.ilias.de/view.php?id=28219 works as expected.
Class ilCertificateBaseTestCase.
Interface Filesystem.
Definition: Filesystem.php:40