@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
JavaScript
;
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