Files
jobqueue/tests/RetentionScheduler.test.ts

29 lines
634 B
TypeScript

import { RetentionScheduler } from '../src/index.js';
describe('RetentionScheduler', () => {
it('runs stale and delete handlers', async () => {
const calls: string[] = [];
const scheduler = new RetentionScheduler(
{
staleAfterMs: 1_000,
deleteAfterMs: 2_000,
},
{
markStale: async () => {
calls.push('stale');
return [];
},
deleteStale: async () => {
calls.push('delete');
return [];
},
},
);
await scheduler.runCycle();
scheduler.stop();
expect(calls).toEqual(['stale', 'delete']);
});
});