29 lines
634 B
TypeScript
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']);
|
|
});
|
|
});
|