mirror of https://github.com/ghostfolio/ghostfolio
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
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>>>()
|
|
};
|
|
|