Skip to content

Commit 10d814c

Browse files
committed
test: cover metadata contract normalization
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
1 parent ca30aea commit 10d814c

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

tests/php/Unit/Service/File/MetadataLoaderTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,4 +222,32 @@ public static function provideMetadataFieldScenarios(): array {
222222
'single page with pdf version' => [1, '1.5', 1, '1.5'],
223223
];
224224
}
225+
226+
public function testLoadMetadataNormalizesRequiredContractFields(): void {
227+
$file = new File();
228+
$file->setId(1);
229+
$file->setName('contract.PDF');
230+
$file->setUserId('user123');
231+
$file->setSignedNodeId(123);
232+
$file->setMetadata([]);
233+
$file->setUuid('uuid-123');
234+
235+
$fileNode = $this->createMock(\OCP\Files\File::class);
236+
$fileNode->method('getSize')->willReturn(5000);
237+
$fileNode->method('getMimeType')->willReturn('application/pdf');
238+
239+
$userFolder = $this->createMock(Folder::class);
240+
$userFolder->method('getFirstNodeById')->with(123)->willReturn($fileNode);
241+
242+
$this->root->method('getUserFolder')->with('user123')->willReturn($userFolder);
243+
$this->urlGenerator->method('linkToRoute')->willReturn('http://example.com/page.pdf');
244+
245+
$fileData = new stdClass();
246+
$service = $this->getService();
247+
$service->loadMetadata($file, $fileData);
248+
249+
$this->assertIsArray($fileData->metadata);
250+
$this->assertSame(0, $fileData->metadata['p']);
251+
$this->assertSame('pdf', $fileData->metadata['extension']);
252+
}
225253
}

0 commit comments

Comments
 (0)