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.

72 lines (69 loc) 2.5 kB
import { describe, it } from 'vitest'; import { backend } from './backend.js'; function defineInsertQueueConfigTestSuite() { describe("createNewQueue / getQueue", () => { it("should insert new queue with bare minimum", async () => { let insertedQueue = await backend.createNewQueue({ name: "default", }); expect(insertedQueue).toMatchObject({ name: "default", concurrency: 10, priority: 0, state: "active", }); insertedQueue = (await backend.getQueue("default")); expect(insertedQueue).toMatchObject({ name: "default", concurrency: 10, priority: 0, state: "active", }); }); it("should insert new queue with all optionals", async () => { let insertedQueue = await backend.createNewQueue({ name: "default", concurrency: 100, priority: 100, state: "paused", }); expect(insertedQueue).toMatchObject({ name: "default", concurrency: 100, priority: 100, state: "paused", }); insertedQueue = (await backend.getQueue("default")); expect(insertedQueue).toMatchObject({ name: "default", concurrency: 100, priority: 100, state: "paused", }); }); it("should not insert duplicated queue", async () => { await backend.createNewQueue({ name: "default", concurrency: 100, priority: 100, state: "active", }); await expect(backend.createNewQueue({ name: "default", concurrency: 100, priority: 100, state: "active", })).rejects.toThrow(); }); it("should throw if concurrency is less than 1", async () => { await expect(backend.createNewQueue({ name: "invalid-concurrency", concurrency: 0, priority: 1, state: "active", })).rejects.toThrow("Concurrency must be at least 1"); }); }); } export { defineInsertQueueConfigTestSuite as default }; //# sourceMappingURL=createNewQueue.js.map