@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.
85 lines (80 loc) • 3.17 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vitest = require('vitest');
var backend = require('./backend.cjs');
function defineListQueuesTestSuite() {
vitest.describe("listQueues", () => {
vitest.it("should list no queue", async () => {
const queues = await backend.backend.listQueues();
expect(queues).toHaveLength(0);
});
vitest.it("should list multiple queues in priority order", async () => {
await backend.backend.createNewQueue({
name: "default",
concurrency: 100,
priority: 10,
state: "active",
});
await backend.backend.createNewQueue({
name: "default2",
concurrency: 100,
priority: 100,
state: "active",
});
const queues = await backend.backend.listQueues();
expect(queues).toHaveLength(2);
expect(queues[0].name).toBe("default2");
expect(queues[1].name).toBe("default");
});
vitest.it("should list queues in ascending priority order", async () => {
await backend.backend.createNewQueue({
name: "asc1",
concurrency: 10,
priority: 1,
state: "active",
});
await backend.backend.createNewQueue({
name: "asc2",
concurrency: 10,
priority: 2,
state: "active",
});
const queues = await backend.backend.listQueues({ column: "priority", order: "asc" });
expect(queues[0].priority).toBeLessThanOrEqual(queues[1].priority);
});
vitest.it("should list queues in descending concurrency order", async () => {
await backend.backend.createNewQueue({
name: "con1",
concurrency: 5,
priority: 1,
state: "active",
});
await backend.backend.createNewQueue({
name: "con2",
concurrency: 20,
priority: 2,
state: "active",
});
const queues = await backend.backend.listQueues({ column: "concurrency", order: "desc" });
expect(queues[0].concurrency).toBeGreaterThanOrEqual(queues[1].concurrency);
});
vitest.it("should list queues in ascending name order", async () => {
await backend.backend.createNewQueue({
name: "bqueue",
concurrency: 1,
priority: 1,
state: "active",
});
await backend.backend.createNewQueue({
name: "aqueue",
concurrency: 1,
priority: 2,
state: "active",
});
const queues = await backend.backend.listQueues({ column: "name", order: "asc" });
expect(queues[0].name < queues[1].name).toBe(true);
});
});
}
exports.default = defineListQueuesTestSuite;
//# sourceMappingURL=listQueues.cjs.map