mirror of
https://github.com/immich-app/immich.git
synced 2025-01-01 08:31:59 +00:00
4a2a7b7735
Album update jobs will now wait five minutes to send. If a new image is added while that job is pending, the old job will be cancelled, and a new one will be enqueued for a minute. This is to prevent a flood of notifications by dragging in images directly to the album, which adds them to the album one at a time. Album updates now include a list of users to email, which is generally everybody except the updater. If somebody else updates the album within that minute, both people will get an album update email in a minute, as they both added images and the other should be notified.
21 lines
684 B
TypeScript
21 lines
684 B
TypeScript
import { IJobRepository } from 'src/interfaces/job.interface';
|
|
import { Mocked, vitest } from 'vitest';
|
|
|
|
export const newJobRepositoryMock = (): Mocked<IJobRepository> => {
|
|
return {
|
|
addHandler: vitest.fn(),
|
|
addCronJob: vitest.fn(),
|
|
updateCronJob: vitest.fn(),
|
|
setConcurrency: vitest.fn(),
|
|
empty: vitest.fn(),
|
|
pause: vitest.fn(),
|
|
resume: vitest.fn(),
|
|
queue: vitest.fn().mockImplementation(() => Promise.resolve()),
|
|
queueAll: vitest.fn().mockImplementation(() => Promise.resolve()),
|
|
getQueueStatus: vitest.fn(),
|
|
getJobCounts: vitest.fn(),
|
|
clear: vitest.fn(),
|
|
waitForQueueCompletion: vitest.fn(),
|
|
removeJob: vitest.fn(),
|
|
};
|
|
};
|