const test = require('node:test'); const assert = require('node:assert/strict'); require('../src/common'); const { createPlayerActionService } = require('../src/web/lib/player-actions'); test('player actions prefer a remote FQDN registration over a local player target', async () => { const fetchCalls = []; const originalFetch = global.fetch; global.fetch = async function (url, init) { fetchCalls.push({ url, init }); return { ok: true, status: 200, headers: { get() { return null; } }, async json() { return { ok: true }; }, async text() { return JSON.stringify({ ok: true }); } }; }; const playerActionService = createPlayerActionService({ common: {}, pool: { async query() { return [[ { identifier: 'player-local', internal_base_url: 'http://player:8081' }, { identifier: 'player-remote', internal_base_url: 'https://pulse-dev-bridge.lzstealth.com' } ]]; } } }); try { const response = await playerActionService.forwardPlayerCommand('demo', { command: 'refresh' }); assert.deepEqual(response, { ok: true }); assert.equal(fetchCalls.length, 1); assert.equal(fetchCalls[0].url, 'https://pulse-dev-bridge.lzstealth.com/api/screens/demo/commands'); } finally { global.fetch = originalFetch; } });