Split web and player build artifacts

This commit is contained in:
2026-08-08 20:38:44 +01:00
parent 38565a533d
commit c3b5a0053c
33 changed files with 1113 additions and 140 deletions
+40
View File
@@ -97,6 +97,46 @@ function createPlayerRouteOptions(overrides) {
}, overrides);
}
test('screen route reports the request origin for the player public base url', async () => {
const { app, handlers } = createAppAndHandlers();
let reportedBaseUrl = null;
registerPlayerRoutes(app, {
app,
pool: { async query() { return [[{ id: 1 }]]; } },
common: { renderPlayerPage() { return '<html></html>'; } },
...createPlayerRouteOptions({
playerPlaylistService: {
async buildScreenPlaylist() {
return {
screen: { id: 7, slug: 'test2' },
playlist: null,
slides: [],
rssFeeds: [],
apiSources: [],
timetableGroups: [],
revision: 'abc123'
};
}
},
onPlayerPublicBaseUrl(value) {
reportedBaseUrl = value;
}
})
});
const handler = handlers['/screen/:slug'];
const res = createResponse();
await handler({
params: { slug: 'test2' },
headers: { host: '127.0.0.1:8080' },
socket: { encrypted: false }
}, res);
assert.equal(reportedBaseUrl, 'http://127.0.0.1:8080');
});
test('screen route falls back to offline rendering when playlist build fails', async () => {
const { app, handlers } = createAppAndHandlers();
const renderCalls = [];