immich/server/test/repositories/job.repository.mock.ts
Thomas Way d46e5f2436
feat: Use postgres as a queue
We've been keen to try this for a while as it means we can remove redis as a
dependency, which makes Immich easier to setup and run.

This replaces bullmq with a bespoke postgres queue. Jobs in the queue are
processed either immediately via triggers and notifications, or eventually if a
notification is missed.
2025-04-30 22:42:18 +01:00

21 lines
662 B
TypeScript

import { JobRepository } from 'src/repositories/job.repository';
import { RepositoryInterface } from 'src/types';
import { Mocked, vitest } from 'vitest';
export const newJobRepositoryMock = (): Mocked<RepositoryInterface<JobRepository>> => {
return {
setup: vitest.fn(),
start: vitest.fn(),
stop: vitest.fn(),
pause: vitest.fn(),
resume: vitest.fn(),
run: vitest.fn(),
queue: vitest.fn().mockImplementation(() => Promise.resolve()),
queueAll: vitest.fn().mockImplementation(() => Promise.resolve()),
clear: vitest.fn(),
clearFailed: vitest.fn(),
getJobCounts: vitest.fn(),
getQueueStatus: vitest.fn(),
};
};