From 890d488d12a8fd6ab43c92726b16843c59517b2a Mon Sep 17 00:00:00 2001 From: Jonathan Jogenfors Date: Sun, 17 Mar 2024 13:46:15 +0100 Subject: [PATCH] add tests --- .../domain/library/library.service.spec.ts | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/server/src/domain/library/library.service.spec.ts b/server/src/domain/library/library.service.spec.ts index d9237f501..ab77d2b37 100644 --- a/server/src/domain/library/library.service.spec.ts +++ b/server/src/domain/library/library.service.spec.ts @@ -18,7 +18,7 @@ import { userStub, } from '@test'; import { when } from 'jest-when'; -import { R_OK } from 'node:constants'; +import exp, { R_OK } from 'node:constants'; import { Stats } from 'node:fs'; import { usePagination } from '../domain.util'; import { IEntityJob, ILibraryFileJob, ILibraryRefreshJob, JobName } from '../job'; @@ -266,16 +266,32 @@ describe(LibraryService.name, () => { expect(assetMock.save).toHaveBeenCalledWith({ id: assetStub.external.id, isOffline: true }); }); - it('should ignore an online asset', async () => { + it('should skip an offline asset', async () => { const mockAssetJob: IEntityJob = { id: assetStub.external.id, }; - assetMock.getById.mockResolvedValue(assetStub.external); + assetMock.getById.mockResolvedValue(assetStub.offline); storageMock.checkFileExists.mockResolvedValue(true); - await sut.handleOfflineCheck(mockAssetJob); + const response = await sut.handleOfflineCheck(mockAssetJob); + expect(response).toBe(JobStatus.SKIPPED); + + expect(assetMock.save).not.toHaveBeenCalled(); + }); + + it('should skip a nonexistent asset id', async () => { + const mockAssetJob: IEntityJob = { + id: assetStub.external.id, + }; + + assetMock.getById.mockImplementation(() => Promise.resolve(null)); + + storageMock.checkFileExists.mockResolvedValue(true); + + const response = await sut.handleOfflineCheck(mockAssetJob); + expect(response).toBe(JobStatus.SKIPPED); expect(assetMock.save).not.toHaveBeenCalled(); });