40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
|
|
const { registerFontSweepTask } = require('../src/web/lib/background-tasks/tasks-scheduled/font-sweep');
|
|
|
|
test('font sweep registers a generic cleanup recurring task without player metadata', async () => {
|
|
let registeredTask = null;
|
|
const calls = [];
|
|
|
|
registerFontSweepTask({
|
|
backgroundTaskQueue: {
|
|
registerRecurringTask(task) {
|
|
registeredTask = task;
|
|
}
|
|
},
|
|
mediaDir: '/tmp/media',
|
|
uploadSyncService: {
|
|
async pushUploadFileToPlayer(uploadPath, mediaDir) {
|
|
calls.push(['put', uploadPath, mediaDir]);
|
|
},
|
|
async removeUploadFileFromPlayer(uploadPath, mediaDir) {
|
|
calls.push(['delete', uploadPath, mediaDir]);
|
|
}
|
|
}
|
|
});
|
|
|
|
assert.ok(registeredTask);
|
|
assert.equal(registeredTask.key, 'font-sweep');
|
|
assert.equal(registeredTask.title, 'Font sweep');
|
|
assert.equal(registeredTask.category, 'cleanup');
|
|
assert.equal(registeredTask.intervalMs, 24 * 60 * 60 * 1000);
|
|
assert.deepEqual(registeredTask.metadata, { mediaDir: '/tmp/media' });
|
|
|
|
await registeredTask.run();
|
|
|
|
assert.deepEqual(calls, [
|
|
['put', '/media/fonts/fonts.json', '/tmp/media'],
|
|
['put', '/media/fonts/fonts.css', '/tmp/media']
|
|
]);
|
|
}); |