ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilCertificateBackgroundImageUploadTest.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3
10
15{
16 public function testFileCanBeUploaded()
17 {
18 $fileUpload = $this->getMockBuilder(FileUpload::class)
19 ->getMock();
20
21 $fileUpload->method('hasBeenProcessed')
22 ->willReturn(false);
23
24 $fileUpload->expects($this->once())
25 ->method('process');
26
27 $fileUpload->method('hasUploads')
28 ->willReturn(true);
29
30 $uploadResult = new UploadResult(
31 'phpunit',
32 1024,
33 'text/xml',
34 $this->getMockBuilder(ImmutableStringMap::class)->getMock(),
35 new ProcessingStatus(ProcessingStatus::OK, 'uploaded'),
36 '/tmp'
37 );
38
39 $fileUpload->method('getResults')
40 ->willReturn(["some/where/temporary" => $uploadResult]);
41
42 $fileUpload->expects($this->once())
43 ->method('moveOneFileTo');
44
45 $language = $this->getMockBuilder(ilLanguage::class)
46 ->disableOriginalConstructor()
47 ->getMock();
48
49 $logger = $this->getMockBuilder(ilLogger::class)
50 ->disableOriginalConstructor()
51 ->getMock();
52
53 $fileSystem = $this->getMockBuilder(Filesystem::class)
54 ->getMock();
55
56 $fileSystem->method('hasDir')
57 ->willReturn(true);
58
59 $fileSystem->method('has')
60 ->willReturn(true);
61
62 $fileSystem->expects($this->once())
63 ->method('delete');
64
65 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
66 ->getMock();
67
68 $utilHelper->expects($this->exactly(2))
69 ->method('convertImage');
70
71 $fileUtilsHelper = $this->getMockBuilder(ilCertificateFileUtilsHelper::class)
72 ->getMock();
73
74 $legacyPathHelper = $this->getMockBuilder(LegacyPathHelperHelper::class)
75 ->getMock();
76
77 $legacyPathHelper->method('createRelativePath')
78 ->willReturn('the/relative/path');
79
81 $fileUpload,
82 'certifcate/path/to/some/where',
83 $language,
84 $logger,
85 $fileSystem,
86 $utilHelper,
87 $fileUtilsHelper,
88 $legacyPathHelper,
89 'Some Root Directory',
90 'someclient',
91 $fileSystem
92 );
93
94 $upload->uploadBackgroundImage('some/where/temporary', '3');
95 }
96
100 public function testPendingFilesCanBeUploaded() : void
101 {
102 $fileUpload = $this->getMockBuilder(FileUpload::class)
103 ->getMock();
104
105 $fileUpload->method('hasBeenProcessed')
106 ->willReturn(false);
107
108 $fileUpload->expects($this->once())
109 ->method('process');
110
111 $fileUpload->method('hasUploads')
112 ->willReturn(true);
113
114 $uploadResult = new UploadResult(
115 '',
116 0,
117 '',
118 $this->getMockBuilder(ImmutableStringMap::class)->getMock(),
119 new ProcessingStatus(ProcessingStatus::REJECTED, 'rejected'),
120 ''
121 );
122
123 $fileUpload->method('getResults')
124 ->willReturn([0 => $uploadResult]);
125
126 $fileUpload->expects($this->never())
127 ->method('moveOneFileTo');
128
129 $language = $this->getMockBuilder(ilLanguage::class)
130 ->disableOriginalConstructor()
131 ->getMock();
132
133 $logger = $this->getMockBuilder(ilLogger::class)
134 ->disableOriginalConstructor()
135 ->getMock();
136
137 $fileSystem = $this->getMockBuilder(Filesystem::class)
138 ->getMock();
139
140 $fileSystem->method('hasDir')
141 ->willReturn(true);
142
143 $fileSystem->method('has')
144 ->willReturn(true);
145
146 $fileSystem->expects($this->once())
147 ->method('delete');
148
149 $fileSystem->expects($this->once())
150 ->method('writeStream');
151
152 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
153 ->getMock();
154
155 $utilHelper->expects($this->exactly(2))
156 ->method('convertImage');
157
158 $fileUtilsHelper = $this->getMockBuilder(ilCertificateFileUtilsHelper::class)
159 ->getMock();
160
161 $legacyPathHelper = $this->getMockBuilder(LegacyPathHelperHelper::class)
162 ->getMock();
163
164 $legacyPathHelper->method('createRelativePath')
165 ->willReturn('the/relative/path');
166
167 $tmp_file_system = $this->getMockBuilder(Filesystem::class)
168 ->getMock();
169 $tmp_file_system->expects($this->once())
170 ->method('readStream')
171 ->willReturn($this->getMockBuilder(FileStream::class)->getMock());
172
174 $fileUpload,
175 'certifcate/path/to/some/where',
176 $language,
177 $logger,
178 $fileSystem,
179 $utilHelper,
180 $fileUtilsHelper,
181 $legacyPathHelper,
182 'Some Root Directory',
183 'someclient',
184 $tmp_file_system
185 );
186
187 $upload->uploadBackgroundImage('some/where/temporary', '3', [
188 'tmp_name' => 'pending_file'
189 ]);
190 }
191}
An exception for terminatinating execution or to throw for unit testing.
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:27