You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

32 lines
795 B

import type { Job, JobId, JobOptions } from 'bull';
import { setTimeout } from 'timers/promises';
import { PortfolioSnapshotQueueJob } from './interfaces/portfolio-snapshot-queue-job.interface';
export const PortfolioSnapshotServiceMock = {
addJobToQueue({
opts
}: {
data: PortfolioSnapshotQueueJob;
name: string;
opts?: JobOptions;
}): Promise<Job> {
const mockJob: Partial<Job> = {
finished: async () => {
await setTimeout(100);
return Promise.resolve();
}
};
this.jobsStore.set(opts?.jobId, mockJob);
return Promise.resolve(mockJob as Job);
},
getJob(jobId: JobId): Promise<Job> {
const job = this.jobsStore.get(jobId);
return Promise.resolve(job as Job);
},
jobsStore: new Map<JobId, Partial<Job>>()
};