ILIAS  trunk Revision v11.0_alpha-2662-g519ff7d528f
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 ()
 

Private Attributes

FileUploadImpl $subject
 
 $prePorcessorManagerMock
 
 $globalHttpStateMock
 

Detailed Description

Member Function Documentation

◆ setUp()

ILIAS\FileUpload\FileUploadImplTest::setUp ( )
protected

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.

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

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
+ Here is the call graph for this function:

◆ testProcessWithFailedUploadWhichShouldGetRejected()

ILIAS\FileUpload\FileUploadImplTest::testProcessWithFailedUploadWhichShouldGetRejected ( )

Definition at line 144 of file FileUploadImplTestTBD.php.

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

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  }
static ofString(string $string)
Creates a new stream with an initial value.
Definition: Streams.php:41
+ 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: