@sidequest/backend-test
Version:
@sidequest/backend-test is a test suite for backend implementations of Sidequest, a Node.js library for managing background jobs and distributed queues.
47 lines (42 loc) • 1.72 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vitest = require('vitest');
var backend = require('./backend.cjs');
function defineGetQueuesFromJobsTestSuite() {
vitest.describe("getQueuesFromJobs", () => {
vitest.it("should find no queues from jobs when no jobs", async () => {
const queues = await backend.backend.getQueuesFromJobs();
expect(queues).toHaveLength(0);
});
vitest.it("should find all queues of all jobs", async () => {
await backend.backend.createNewJob({
queue: "default",
class: "TestJob",
args: [],
constructor_args: [],
state: "waiting",
script: "test.js",
attempt: 0,
});
const secondJob = await backend.backend.createNewJob({
queue: "default2",
class: "TestJob",
args: [],
constructor_args: [],
state: "waiting",
script: "test.js",
attempt: 0,
});
await backend.backend.updateJob({ id: secondJob.id, state: "failed" });
const queues = await backend.backend.getQueuesFromJobs();
expect(queues).toHaveLength(2);
expect(queues[0]).toBe("default");
expect(queues[1]).toBe("default2");
// A job can exist without an existing queue
const queueNames = await backend.backend.listQueues();
expect(queueNames).toHaveLength(0);
});
});
}
exports.default = defineGetQueuesFromJobsTestSuite;
//# sourceMappingURL=getQueuesFromJobs.cjs.map