Skip to content

Commit 9cdb446

Browse files
fix: unit test
Signed-off-by: Vitor Mattos <[email protected]>
1 parent 0f8c810 commit 9cdb446

File tree

3 files changed

+17
-40
lines changed

3 files changed

+17
-40
lines changed

lib/Service/EnvelopeService.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,17 @@ public function getEnvelopeByFileId(int $fileId): ?FileEntity {
109109

110110
public function getEnvelopeFolder(FileEntity $envelope): \OCP\Files\Folder {
111111
$userId = $envelope->getUserId();
112+
if (!$userId) {
113+
throw new LibresignException('Envelope does not have a user');
114+
}
112115

113116
$this->folderService->setUserId($userId);
114117
$userFolder = $this->folderService->getFolder();
115118

116119
$envelopeFolderNode = $userFolder->getFirstNodeById($envelope->getNodeId());
120+
if (!$envelopeFolderNode instanceof \OCP\Files\Folder) {
121+
throw new LibresignException('Envelope folder not found');
122+
}
117123

118124
return $envelopeFolderNode;
119125
}

lib/Service/File/UploadProcessor.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ public function getNodeFromUploadedFile(array $data): Node {
4949
$this->validateFileContent($content, $extension);
5050

5151
$folderToFile = $this->folderService->getFolderForFile($data, $data['userManager']);
52+
if (!$folderToFile instanceof \OCP\Files\Folder) {
53+
throw new LibresignException('Envelope folder not found');
54+
}
5255

5356
@unlink($uploadedFile['tmp_name']);
5457

tests/php/Unit/Service/File/UploadProcessorTest.php

Lines changed: 8 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,8 @@ public function testGetNodeFromUploadedFileSuccess(): void {
6969
$this->mimeService->method('getExtension')->with($content)->willReturn($extension);
7070
$this->pdfValidator->method('validate');
7171

72-
$folder = $this->createMock(Folder::class);
73-
$this->folderService->method('getFolder')->willReturn($folder);
74-
$this->folderService->method('getFolderName')->willReturn('LibreSign');
75-
7672
$targetFolder = $this->createMock(Folder::class);
77-
$folder->method('newFolder')->willReturn($targetFolder);
73+
$this->folderService->method('getFolderForFile')->willReturn($targetFolder);
7874

7975
$node = $this->createMock(Node::class);
8076
$targetFolder->method('newFile')->willReturn($node);
@@ -110,12 +106,8 @@ public function testGetNodeFromUploadedFileValidatesUpload(): void {
110106
$this->mimeService->method('getExtension')->willReturn('pdf');
111107
$this->pdfValidator->method('validate');
112108

113-
$folder = $this->createMock(Folder::class);
114-
$this->folderService->method('getFolder')->willReturn($folder);
115-
$this->folderService->method('getFolderName')->willReturn('LibreSign');
116-
117109
$targetFolder = $this->createMock(Folder::class);
118-
$folder->method('newFolder')->willReturn($targetFolder);
110+
$this->folderService->method('getFolderForFile')->willReturn($targetFolder);
119111

120112
$node = $this->createMock(Node::class);
121113
$targetFolder->method('newFile')->willReturn($node);
@@ -151,12 +143,8 @@ public function testGetNodeFromUploadedFileValidatesPdf(): void {
151143
->method('validate')
152144
->with($content);
153145

154-
$folder = $this->createMock(Folder::class);
155-
$this->folderService->method('getFolder')->willReturn($folder);
156-
$this->folderService->method('getFolderName')->willReturn('LibreSign');
157-
158146
$targetFolder = $this->createMock(Folder::class);
159-
$folder->method('newFolder')->willReturn($targetFolder);
147+
$this->folderService->method('getFolderForFile')->willReturn($targetFolder);
160148

161149
$node = $this->createMock(Node::class);
162150
$targetFolder->method('newFile')->willReturn($node);
@@ -187,12 +175,8 @@ public function testProcessUploadedFilesWithRollbackSuccess(): void {
187175
$this->pdfValidator->method('validate');
188176
$this->validateHelper->method('validateNewFile');
189177

190-
$folder = $this->createMock(Folder::class);
191-
$this->folderService->method('getFolder')->willReturn($folder);
192-
$this->folderService->method('getFolderName')->willReturn('LibreSign');
193-
194178
$targetFolder = $this->createMock(Folder::class);
195-
$folder->method('newFolder')->willReturn($targetFolder);
179+
$this->folderService->method('getFolderForFile')->willReturn($targetFolder);
196180

197181
$node = $this->createMock(Node::class);
198182
$node->method('getId')->willReturn(123);
@@ -229,12 +213,8 @@ public function testProcessUploadedFilesWithRollbackValidatesNewFiles(): void {
229213
'userManager' => $user,
230214
]);
231215

232-
$folder = $this->createMock(Folder::class);
233-
$this->folderService->method('getFolder')->willReturn($folder);
234-
$this->folderService->method('getFolderName')->willReturn('LibreSign');
235-
236216
$targetFolder = $this->createMock(Folder::class);
237-
$folder->method('newFolder')->willReturn($targetFolder);
217+
$this->folderService->method('getFolderForFile')->willReturn($targetFolder);
238218

239219
$node = $this->createMock(Node::class);
240220
$node->method('getId')->willReturn(123);
@@ -261,12 +241,8 @@ public function testProcessUploadedFilesWithRollbackOnValidationError(): void {
261241
->method('validateNewFile')
262242
->willThrowException(new LibresignException('Invalid file'));
263243

264-
$folder = $this->createMock(Folder::class);
265-
$this->folderService->method('getFolder')->willReturn($folder);
266-
$this->folderService->method('getFolderName')->willReturn('LibreSign');
267-
268244
$targetFolder = $this->createMock(Folder::class);
269-
$folder->method('newFolder')->willReturn($targetFolder);
245+
$this->folderService->method('getFolderForFile')->willReturn($targetFolder);
270246

271247
$node = $this->createMock(Node::class);
272248
$node->method('getId')->willReturn(123);
@@ -299,12 +275,8 @@ public function testProcessUploadedFilesWithRollbackLogsDeleteError(): void {
299275
->method('validateNewFile')
300276
->willThrowException(new LibresignException('Invalid file'));
301277

302-
$folder = $this->createMock(Folder::class);
303-
$this->folderService->method('getFolder')->willReturn($folder);
304-
$this->folderService->method('getFolderName')->willReturn('LibreSign');
305-
306278
$targetFolder = $this->createMock(Folder::class);
307-
$folder->method('newFolder')->willReturn($targetFolder);
279+
$this->folderService->method('getFolderForFile')->willReturn($targetFolder);
308280

309281
$node = $this->createMock(Node::class);
310282
$node->method('getId')->willReturn(123);
@@ -344,12 +316,8 @@ public function testProcessUploadedFilesReturnsCorrectStructure(): void {
344316
$this->pdfValidator->method('validate');
345317
$this->validateHelper->method('validateNewFile');
346318

347-
$folder = $this->createMock(Folder::class);
348-
$this->folderService->method('getFolder')->willReturn($folder);
349-
$this->folderService->method('getFolderName')->willReturn('LibreSign');
350-
351319
$targetFolder = $this->createMock(Folder::class);
352-
$folder->method('newFolder')->willReturn($targetFolder);
320+
$this->folderService->method('getFolderForFile')->willReturn($targetFolder);
353321

354322
$node = $this->createMock(Node::class);
355323
$node->method('getId')->willReturn(123);

0 commit comments

Comments
 (0)