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
815 B

import { Job, 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<any>> {
const mockJob: Partial<Job<any>> = {
finished: async () => {
await setTimeout(100);
return Promise.resolve();
}
};
this.jobsStore.set(opts?.jobId, mockJob);
return Promise.resolve(mockJob as Job<any>);
},
getJob(jobId: string): Promise<Job<any>> {
const job = this.jobsStore.get(jobId);
return Promise.resolve(job as Job<any>);
},
jobsStore: new Map<string, Partial<Job<any>>>()
};