chore: unit tests

This commit is contained in:
Jason Rasmussen
2023-11-22 00:01:34 -05:00
parent a4cf62f918
commit 95e5f0acc9
2 changed files with 38 additions and 1 deletions

View File

@@ -566,4 +566,41 @@ describe(MetadataService.name, () => {
});
});
});
describe('handleSidecarWrite', () => {
it('should skip assets that do not exist anymore', async () => {
assetMock.getByIds.mockResolvedValue([]);
await expect(sut.handleSidecarWrite({ id: 'asset-123' })).resolves.toBe(false);
expect(metadataMock.writeTags).not.toHaveBeenCalled();
});
it('should skip jobs with not metadata', async () => {
assetMock.getByIds.mockResolvedValue([assetStub.sidecar]);
await expect(sut.handleSidecarWrite({ id: assetStub.sidecar.id })).resolves.toBe(true);
expect(metadataMock.writeTags).not.toHaveBeenCalled();
});
it('should write tags', async () => {
const description = 'this is a description';
const gps = 12;
const date = '2023-11-22T04:56:12.196Z';
assetMock.getByIds.mockResolvedValue([assetStub.sidecar]);
await expect(
sut.handleSidecarWrite({
id: assetStub.sidecar.id,
description,
latitude: gps,
longitude: gps,
dateTimeOriginal: date,
}),
).resolves.toBe(true);
expect(metadataMock.writeTags).toHaveBeenCalledWith(assetStub.sidecar.sidecarPath, {
ImageDescription: description,
CreationDate: date,
GPSLatitude: gps,
GPSLongitude: gps,
});
});
});
});

View File

@@ -254,7 +254,7 @@ export class MetadataService {
async handleSidecarWrite(job: ISidecarWriteJob) {
const { id, description, dateTimeOriginal, latitude, longitude } = job;
const asset = await this.assetRepository.getById(id);
const [asset] = await this.assetRepository.getByIds([id]);
if (!asset) {
return false;
}