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.

58 lines (54 loc) 2.12 kB
'use strict'; var backend = require('./backend.cjs'); var claimPendingJob = require('./claimPendingJob.cjs'); var countJobs = require('./countJobs.cjs'); var countJobsOverTime = require('./countJobsOverTime.cjs'); var createNewJob = require('./createNewJob.cjs'); var createNewQueue = require('./createNewQueue.cjs'); var deleteFinishedJobs = require('./deleteFinishedJobs.cjs'); var getJob = require('./getJob.cjs'); var getQueuesFromJobs = require('./getQueuesFromJobs.cjs'); var listJobs = require('./listJobs.cjs'); var listQueues = require('./listQueues.cjs'); var staleJobs = require('./staleJobs.cjs'); var truncate = require('./truncate.cjs'); var updateJob = require('./updateJob.cjs'); /** * Sets up and runs a comprehensive test suite for a backend implementation. * * This function initializes the backend using the provided configuration and factory, * and automatically registers a series of standardized test suites to validate * backend behavior. It also manages backend setup and teardown for each test. * * **🚨 ATTENTION 🚨**: This function is intended for use in a testing environment only and with * testing data. It will truncate the database after every test to ensure a clean state. * It should not be used in production or with real data. * * @param backendFactory - A factory function that creates a backend instance. */ function testBackend(backendFactory) { beforeEach(async () => { backend.setTestBackend(backendFactory()); await backend.backend.migrate(); await backend.backend.truncate(); }); afterEach(async () => { await backend.backend.truncate(); await backend.backend.close(); }); truncate.default(); claimPendingJob.default(); createNewJob.default(); deleteFinishedJobs.default(); getJob.default(); getQueuesFromJobs.default(); createNewQueue.default(); listQueues.default(); listJobs.default(); countJobs.default(); staleJobs.default(); updateJob.default(); countJobsOverTime.default(); } exports.testBackend = testBackend; //# sourceMappingURL=index.cjs.map