UNPKG

@cadence-mq/core

Version:

Modern, type-safe, and performant task queue for Node.js

43 lines (35 loc) 1.33 kB
import type { JobRepositoryDriver } from '../jobs/jobs.types'; import { describe, expect, test } from 'vitest'; import { createTaskRegistry } from '../tasks/task-definition.registry'; import { createCadence } from './cadence.factory'; describe('cadence factory', () => { describe('createCadence', () => { test('an convenience helper for creating a scheduler a worker with a task registry and a driver', () => { const driver = {} as JobRepositoryDriver; const cadence = createCadence({ driver }); const methods = Object.keys(cadence); expect(methods).to.eql([ 'createWorker', 'scheduleJob', 'schedulePeriodicJob', 'registerTask', 'getJob', 'getJobCount', 'deleteJob', 'getTaskRegistry', 'getDriver', ]); }); test('a custom task registry can be provided', () => { const driver = {} as JobRepositoryDriver; const taskRegistry = createTaskRegistry(); const cadence = createCadence({ driver, taskRegistry }); expect(cadence.getTaskRegistry()).toBe(taskRegistry); }); test('the provided driver can be retrieved', () => { const driver = {} as JobRepositoryDriver; const cadence = createCadence({ driver }); expect(cadence.getDriver()).toBe(driver); }); }); });