Split web and player build artifacts
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
const test = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
|
||||
require('../src/common');
|
||||
|
||||
const { registerInitialFontSyncTask } = require('../src/web/lib/background-tasks/tasks-startup/font-sync');
|
||||
|
||||
test('initial font sync queues a separate task for each live player', async () => {
|
||||
const queuedTasks = [];
|
||||
const liveLastSeenAt = new Date(Date.now() - 10_000).toISOString();
|
||||
const staleLastSeenAt = new Date(Date.now() - 5 * 60 * 1000).toISOString();
|
||||
|
||||
await registerInitialFontSyncTask({
|
||||
pool: {
|
||||
async query() {
|
||||
return [[
|
||||
{
|
||||
identifier: 'player-one',
|
||||
public_base_url: 'https://player-one.example',
|
||||
internal_base_url: 'http://player-one:8081',
|
||||
last_seen_at: liveLastSeenAt
|
||||
},
|
||||
{
|
||||
identifier: 'player-two',
|
||||
public_base_url: 'https://player-two.example',
|
||||
internal_base_url: 'http://player-two:8081',
|
||||
last_seen_at: liveLastSeenAt
|
||||
},
|
||||
{
|
||||
identifier: 'player-stale',
|
||||
public_base_url: 'https://player-stale.example',
|
||||
internal_base_url: 'http://player-stale:8081',
|
||||
last_seen_at: staleLastSeenAt
|
||||
}
|
||||
]];
|
||||
}
|
||||
},
|
||||
backgroundTaskQueue: {
|
||||
async enqueueTask(definition) {
|
||||
queuedTasks.push(definition);
|
||||
return definition;
|
||||
}
|
||||
},
|
||||
mediaDir: 'e:/Projects Git/pulse-signage/media',
|
||||
uploadSyncService: {
|
||||
async getPlayerTaskMetadata() {
|
||||
return {};
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
assert.equal(queuedTasks.length, 2);
|
||||
assert.deepEqual(queuedTasks.map(function (task) {
|
||||
return task.metadata.playerIdentifier;
|
||||
}).sort(), ['player-one', 'player-two']);
|
||||
assert.deepEqual(queuedTasks.map(function (task) {
|
||||
return task.payload.playerIdentifier;
|
||||
}).sort(), ['player-one', 'player-two']);
|
||||
assert.ok(queuedTasks.every(function (task) {
|
||||
return task.key === 'initial-font-sync' && task.title === 'Initial font sync' && task.taskType === 'font-sync';
|
||||
}));
|
||||
});
|
||||
Reference in New Issue
Block a user