UNPKG

@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
'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