mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-06 00:41:39 +08:00
test(server): add MockJobQueue (#11032)
This commit is contained in:
@@ -4,6 +4,7 @@ export * from './user.mock';
|
||||
export * from './workspace.mock';
|
||||
|
||||
import { MockMailer } from './mailer.mock';
|
||||
import { MockJobQueue } from './queue.mock';
|
||||
import { MockTeamWorkspace } from './team-workspace.mock';
|
||||
import { MockUser } from './user.mock';
|
||||
import { MockWorkspace } from './workspace.mock';
|
||||
@@ -14,4 +15,4 @@ export const Mockers = {
|
||||
TeamWorkspace: MockTeamWorkspace,
|
||||
};
|
||||
|
||||
export { MockMailer };
|
||||
export { MockJobQueue, MockMailer };
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import Sinon from 'sinon';
|
||||
|
||||
import { JobQueue } from '../../base';
|
||||
|
||||
export class MockJobQueue {
|
||||
add = Sinon.createStubInstance(JobQueue).add.resolves();
|
||||
|
||||
last<Job extends JobName>(name: Job): { name: Job; payload: Jobs[Job] } {
|
||||
const addJobName = this.add.lastCall?.args[0];
|
||||
const payload = this.add.lastCall?.args[1];
|
||||
|
||||
if (!payload) {
|
||||
throw new Error('No job ever added');
|
||||
}
|
||||
|
||||
if (addJobName !== name) {
|
||||
throw new Error(`Job name mismatch: ${addJobName} !== ${name}`);
|
||||
}
|
||||
|
||||
return { name, payload };
|
||||
}
|
||||
|
||||
count(name: JobName) {
|
||||
return this.add.getCalls().filter(call => call.args[0] === name).length;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user