Files
pulse-signage/test/playlist-form-view-model.test.js
T
2026-08-05 21:05:43 +01:00

57 lines
1.6 KiB
JavaScript

const test = require('node:test');
const assert = require('node:assert/strict');
require('../src/common');
const { buildPlaylistFormViewModel } = require('../src/web/routes/signage/playlists/form-view-model');
test('playlist rows show mute controls for RTMP slides', () => {
const model = buildPlaylistFormViewModel(
{ id: 22, name: 'Playlist 22' },
{
playlistSlides: [
{
id: 1,
playlist_id: 22,
slide_id: 101,
position: 1,
title: 'Video slide',
content_json: '{"videoRegion":{"type":"video","value":"/media/video.mp4"}}',
duration_seconds: 10,
use_video_duration: 0,
disable_audio: 1
},
{
id: 2,
playlist_id: 22,
slide_id: 102,
position: 2,
title: 'RTMP slide',
content_json: '{"rtmpRegion":{"type":"rtmp","value":"rtmp://example/live"}}',
duration_seconds: 10,
use_video_duration: 0,
disable_audio: 1
},
{
id: 3,
playlist_id: 22,
slide_id: 103,
position: 3,
title: 'Image slide',
content_json: '{"imageRegion":{"type":"image","value":"/media/image.png"}}',
duration_seconds: 10,
use_video_duration: 0,
disable_audio: 1
}
],
slides: []
},
'',
null,
{ isEdit: true }
);
assert.equal(model.playlistSlides[0].showMuteButton, true);
assert.equal(model.playlistSlides[1].showMuteButton, true);
assert.equal(model.playlistSlides[2].showMuteButton, false);
});