'use strict'; const test = require('node:test'); const assert = require('node:assert/strict'); const { buildPlaylist } = require('../src/playlist'); function fakeRequest() { return { headers: { host: 'example.test:8080' }, socket: {} }; } const event = { key: 'a', title: 'Standard de Liège - SK Beveren', startAt: new Date('2026-11-06T18:25:00Z'), endAt: new Date('2026-11-06T20:55:00Z'), }; test('playlist always contains three fixed channels', () => { const scheduler = { getSlotCount: () => 3, getSlotEvent: (index) => (index === 0 ? event : null), }; const body = buildPlaylist(fakeRequest(), scheduler); const lines = body.trim().split('\n'); assert.equal(lines[0], '#EXTM3U'); assert.equal( lines[1], '#EXTINF:-1 tvg-id="jupiler-1" tvg-name="Jupiler 1",Jupiler 1 | Standard de Liège - SK Beveren (19:25)' ); assert.equal(lines[2], 'http://example.test:8080/stream/1'); assert.ok(body.includes('Jupiler 2 | Geen wedstrijd')); assert.ok(body.includes('Jupiler 3 | Geen wedstrijd')); assert.ok(body.includes('http://example.test:8080/stream/3')); });