ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\FileUpload\FileUploadImplTest Class Reference

Class FileUploadImplTest. More...

+ Inheritance diagram for ILIAS\FileUpload\FileUploadImplTest:
+ Collaboration diagram for ILIAS\FileUpload\FileUploadImplTest:

Public Member Functions

 testRegisterWhichShouldSucceed ()
 
 testRegisterWithProcessedFilesWhichShouldFail ()
 
 testProcessWhichShouldSucceed ()
 
 testProcessWithFailedUploadWhichShouldGetRejected ()
 
 testHasUploadsWithoutUploadedFiles ()
 
 testHasUploadsWithSingleUploadedFile ()
 
 testHasUploadsWithMultipleUploadedFile ()
 

Protected Member Functions

 setUp ()
 @inheritDoc More...
 

Private Attributes

FileUploadImpl $subject
 
 $prePorcessorManagerMock
 
 $globalHttpStateMock
 

Detailed Description

Member Function Documentation

◆ setUp()

ILIAS\FileUpload\FileUploadImplTest::setUp ( )
protected

@inheritDoc

Definition at line 227 of file FileUploadImplTestTBD.php.

227 : void
228 {
229 parent::setUp();
230
231 $this->prePorcessorManagerMock = \Mockery::mock(PreProcessorManager::class);
232 $filesystemsMock = \Mockery::mock(Filesystems::class);
233 $this->globalHttpStateMock = \Mockery::mock(GlobalHttpState::class);
234
235 $this->subject = new FileUploadImpl($this->prePorcessorManagerMock, $filesystemsMock, $this->globalHttpStateMock);
236 }

◆ testHasUploadsWithMultipleUploadedFile()

ILIAS\FileUpload\FileUploadImplTest::testHasUploadsWithMultipleUploadedFile ( )

Definition at line 209 of file FileUploadImplTestTBD.php.

209 : void
210 {
211 $files = [];
212 for ($i = 0; $i < 10; $i++) {
213 $files[] = Mockery::mock(UploadedFileInterface::class);
214 }
215
216 $this->globalHttpStateMock->shouldReceive('request->getUploadedFiles')
217 ->once()
218 ->andReturn($files);
219
220 $this->assertTrue($this->subject->hasUploads());
221 }

◆ testHasUploadsWithoutUploadedFiles()

ILIAS\FileUpload\FileUploadImplTest::testHasUploadsWithoutUploadedFiles ( )

Definition at line 185 of file FileUploadImplTestTBD.php.

185 : void
186 {
187 // No File-Upload Element
188 $this->globalHttpStateMock->shouldReceive('request->getUploadedFiles')
189 ->once()
190 ->andReturn([]);
191 $this->assertFalse($this->subject->hasUploads());
192 }

◆ testHasUploadsWithSingleUploadedFile()

ILIAS\FileUpload\FileUploadImplTest::testHasUploadsWithSingleUploadedFile ( )

Definition at line 196 of file FileUploadImplTestTBD.php.

196 : void
197 {
198 $uploadedFile = Mockery::mock(UploadedFileInterface::class);
199
200 $this->globalHttpStateMock->shouldReceive('request->getUploadedFiles')
201 ->once()
202 ->andReturn([ $uploadedFile ]);
203
204 $this->assertTrue($this->subject->hasUploads());
205 }

◆ testProcessWhichShouldSucceed()

ILIAS\FileUpload\FileUploadImplTest::testProcessWhichShouldSucceed ( )

Definition at line 101 of file FileUploadImplTestTBD.php.

101 : void
102 {
103 $processingResult = new ProcessingStatus(ProcessingStatus::OK, 'All green!');
104 $uploadedFile = Mockery::mock(UploadedFileInterface::class);
105 $uploadedFile
106 ->shouldReceive('getClientFilename')
107 ->once()
108 ->andReturn('hello.txt')
109 ->getMock()
110 ->shouldReceive('getSize')
111 ->once()
112 ->andReturn(10)
113 ->getMock()
114 ->shouldReceive('getClientMediaType')
115 ->once()
116 ->andReturn('text/plain')
117 ->getMock()
118 ->shouldReceive('getError')
119 ->once()
120 ->andReturn(UPLOAD_ERR_OK)
121 ->getMock()
122 ->shouldReceive('getStream')
123 ->twice()
124 ->andReturn(Streams::ofString("Text file content."));
125
126 $uploadedFiles = [
127 $uploadedFile
128 ];
129
130 $this->prePorcessorManagerMock->shouldReceive('process')
131 ->withAnyArgs()
132 ->once()
133 ->andReturn($processingResult);
134
135 $this->globalHttpStateMock->shouldReceive('request->getUploadedFiles')
136 ->once()
137 ->andReturn($uploadedFiles);
138
139 $this->subject->process();
140 }
static ofString(string $string)
Creates a new stream with an initial value.
Definition: Streams.php:41

References ILIAS\Filesystem\Stream\Streams\ofString(), and ILIAS\FileUpload\DTO\ProcessingStatus\OK.

+ Here is the call graph for this function:

◆ testProcessWithFailedUploadWhichShouldGetRejected()

ILIAS\FileUpload\FileUploadImplTest::testProcessWithFailedUploadWhichShouldGetRejected ( )

Definition at line 144 of file FileUploadImplTestTBD.php.

144 : void
145 {
146 $uploadedFile = Mockery::mock(UploadedFileInterface::class);
147 $uploadedFile
148 ->shouldReceive('getClientFilename')
149 ->once()
150 ->andReturn('hello.txt')
151 ->getMock()
152 ->shouldReceive('getSize')
153 ->once()
154 ->andReturn(10)
155 ->getMock()
156 ->shouldReceive('getClientMediaType')
157 ->once()
158 ->andReturn('text/plain')
159 ->getMock()
160 ->shouldReceive('getError')
161 ->once()
162 ->andReturn(UPLOAD_ERR_PARTIAL)
163 ->getMock()
164 ->shouldReceive('getStream')
165 ->twice()
166 ->andReturn(Streams::ofString("Text file content."));
167
168 $uploadedFiles = [
169 $uploadedFile
170 ];
171
172 $this->globalHttpStateMock->shouldReceive('request->getUploadedFiles')
173 ->once()
174 ->andReturn($uploadedFiles);
175
176 $this->subject->process();
177
178 $result = $this->subject->getResults()[0];
179 $this->assertSame(ProcessingStatus::REJECTED, $result->getStatus()->getCode());
180 }

References ILIAS\Filesystem\Stream\Streams\ofString(), and ILIAS\FileUpload\DTO\ProcessingStatus\REJECTED.

+ Here is the call graph for this function:

◆ testRegisterWhichShouldSucceed()

ILIAS\FileUpload\FileUploadImplTest::testRegisterWhichShouldSucceed ( )

Definition at line 72 of file FileUploadImplTestTBD.php.

72 : void
73 {
74 $processorMock = \Mockery::mock(PreProcessor::class);
75 $this->prePorcessorManagerMock->shouldReceive('with')
76 ->once()
77 ->with($processorMock);
78
79 $this->subject->register($processorMock);
80 }

◆ testRegisterWithProcessedFilesWhichShouldFail()

ILIAS\FileUpload\FileUploadImplTest::testRegisterWithProcessedFilesWhichShouldFail ( )

Definition at line 84 of file FileUploadImplTestTBD.php.

84 : void
85 {
86 $processorMock = \Mockery::mock(PreProcessor::class);
87
88 $this->globalHttpStateMock->shouldReceive('request->getUploadedFiles')
89 ->once()
90 ->andReturn([]);
91
92 $this->expectException(IllegalStateException::class);
93 $this->expectExceptionMessage('Can not register processor after the upload was processed.');
94
95 $this->subject->process();
96 $this->subject->register($processorMock);
97 }

Field Documentation

◆ $globalHttpStateMock

MockInterface GlobalHttpState ILIAS\FileUpload\FileUploadImplTest::$globalHttpStateMock
private

Definition at line 67 of file FileUploadImplTestTBD.php.

◆ $prePorcessorManagerMock

MockInterface PreProcessorManager ILIAS\FileUpload\FileUploadImplTest::$prePorcessorManagerMock
private

Definition at line 63 of file FileUploadImplTestTBD.php.

◆ $subject

FileUpload ILIAS\FileUpload\FileUploadImplTest::$subject
private

Definition at line 59 of file FileUploadImplTestTBD.php.


The documentation for this class was generated from the following file: