@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.
76 lines (71 loc) • 2.67 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vitest = require('vitest');
var backend = require('./backend.cjs');
function defineInsertQueueConfigTestSuite() {
vitest.describe("createNewQueue / getQueue", () => {
vitest.it("should insert new queue with bare minimum", async () => {
let insertedQueue = await backend.backend.createNewQueue({
name: "default",
});
expect(insertedQueue).toMatchObject({
name: "default",
concurrency: 10,
priority: 0,
state: "active",
});
insertedQueue = (await backend.backend.getQueue("default"));
expect(insertedQueue).toMatchObject({
name: "default",
concurrency: 10,
priority: 0,
state: "active",
});
});
vitest.it("should insert new queue with all optionals", async () => {
let insertedQueue = await backend.backend.createNewQueue({
name: "default",
concurrency: 100,
priority: 100,
state: "paused",
});
expect(insertedQueue).toMatchObject({
name: "default",
concurrency: 100,
priority: 100,
state: "paused",
});
insertedQueue = (await backend.backend.getQueue("default"));
expect(insertedQueue).toMatchObject({
name: "default",
concurrency: 100,
priority: 100,
state: "paused",
});
});
vitest.it("should not insert duplicated queue", async () => {
await backend.backend.createNewQueue({
name: "default",
concurrency: 100,
priority: 100,
state: "active",
});
await expect(backend.backend.createNewQueue({
name: "default",
concurrency: 100,
priority: 100,
state: "active",
})).rejects.toThrow();
});
vitest.it("should throw if concurrency is less than 1", async () => {
await expect(backend.backend.createNewQueue({
name: "invalid-concurrency",
concurrency: 0,
priority: 1,
state: "active",
})).rejects.toThrow("Concurrency must be at least 1");
});
});
}
exports.default = defineInsertQueueConfigTestSuite;
//# sourceMappingURL=createNewQueue.cjs.map