fix(server): untracked thumbnail and preview images (#9126)

* delete old thumbnails

* add tests

* revert invisible asset handling
This commit is contained in:
Mert
2024-04-27 18:43:05 -04:00
committed by GitHub
parent 19aa97da02
commit 2648032163
3 changed files with 48 additions and 0 deletions
+22
View File
@@ -251,6 +251,17 @@ describe(MediaService.name, () => {
expect(assetMock.update).toHaveBeenCalledWith({ id: 'asset-id', previewPath });
});
it('should delete previous preview if different path', async () => {
const previousPreviewPath = assetStub.image.previewPath;
configMock.load.mockResolvedValue([{ key: SystemConfigKey.IMAGE_THUMBNAIL_FORMAT, value: ImageFormat.WEBP }]);
assetMock.getByIds.mockResolvedValue([assetStub.image]);
await sut.handleGeneratePreview({ id: assetStub.image.id });
expect(storageMock.unlink).toHaveBeenCalledWith(previousPreviewPath);
});
it('should generate a P3 thumbnail for a wide gamut image', async () => {
assetMock.getByIds.mockResolvedValue([
{ ...assetStub.image, exifInfo: { profileDescription: 'Adobe RGB', bitsPerSample: 14 } as ExifEntity },
@@ -390,6 +401,17 @@ describe(MediaService.name, () => {
expect(assetMock.update).toHaveBeenCalledWith({ id: 'asset-id', thumbnailPath });
},
);
it('should delete previous thumbnail if different path', async () => {
const previousThumbnailPath = assetStub.image.thumbnailPath;
configMock.load.mockResolvedValue([{ key: SystemConfigKey.IMAGE_THUMBNAIL_FORMAT, value: ImageFormat.WEBP }]);
assetMock.getByIds.mockResolvedValue([assetStub.image]);
await sut.handleGenerateThumbnail({ id: assetStub.image.id });
expect(storageMock.unlink).toHaveBeenCalledWith(previousThumbnailPath);
});
});
it('should generate a P3 thumbnail for a wide gamut image', async () => {