Files
pulse-signage/test/player-bridge-state.test.js
T
lzstealth c3299abaac
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile, web, pulse-signage-web) (push) Successful in 1m53s
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile.player, player, pulse-signage-player) (push) Successful in 32s
Release v2.14.1
2026-10-11 18:54:43 +01:00

29 lines
1.2 KiB
JavaScript

const test = require('node:test');
const assert = require('node:assert/strict');
const { createPlayerBridgeState } = require('../src/player-bridge/connection-state');
test('bridge state merges snapshot sources and tracks device ids', () => {
const state = createPlayerBridgeState();
state.setScreenSnapshotSource('demo-screen', 'player-a', [{ clientId: 'client-1' }]);
state.setScreenSnapshotSource('demo-screen', 'player-b', [{ clientId: 'client-2' }]);
const snapshot = state.buildMergedScreenSnapshot('demo-screen');
assert.equal(snapshot.count, 2);
assert.deepEqual(snapshot.deviceIds.sort(), ['player-a', 'player-b']);
assert.equal(state.getScreenSnapshotCount('demo-screen'), 2);
});
test('bridge state clears snapshot sources by player device id', () => {
const state = createPlayerBridgeState();
state.setScreenSnapshotSource('demo-screen', 'player-a', [{ clientId: 'client-1' }]);
state.setScreenSnapshotSource('demo-screen', 'player-b', [{ clientId: 'client-2' }]);
state.clearPlayerSnapshotSources('player-a');
const snapshot = state.buildMergedScreenSnapshot('demo-screen');
assert.equal(snapshot.count, 1);
assert.deepEqual(snapshot.deviceIds, ['player-b']);
});