From 5ec6ea1cb8ee24bc9d571f96cbdc53bae4c2c7c4 Mon Sep 17 00:00:00 2001 From: chyoo Date: Mon, 2 Nov 2026 09:51:35 +0900 Subject: [PATCH] test: cover multiple assigned platform selections --- scripts/test-platform-availability.cjs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/test-platform-availability.cjs b/scripts/test-platform-availability.cjs index 4c1f5e1..980d266 100644 --- a/scripts/test-platform-availability.cjs +++ b/scripts/test-platform-availability.cjs @@ -42,6 +42,16 @@ function classify(platformOptions, checkedIds = ['mini'], platformFilter = 'all' const simulation = { id: 'sim', platformKey: 'futuredrive-local-pc', state: 'ready', status: '사용 가능', action: '시작' } const mini = { id: 'mini', platformKey: 'mkmini', state: 'ready', status: '사용 가능', action: '제어권 요청', connection: { headscaleOnline: true, agentHealthy: true } } +test('multiple vehicles of the same platform kind remain independently selectable', () => { + const second = { ...mini, id: 'mini-2', title: 'MK-mini #02' } + const platforms = [simulation, mini, second] + assert.deepEqual(classify(platforms, ['mini', 'mini-2']).ids, ['sim', 'mini', 'mini-2']) + assert.deepEqual(classify(platforms, ['mini', 'mini-2']).counts, { all: 3, available: 3, unavailable: 0 }) + const disconnected = { ...mini, status: '연결 끊김', connection: { headscaleOnline: false, agentHealthy: false } } + assert.deepEqual(classify([simulation, disconnected, second], ['mini', 'mini-2'], 'available').ids, ['sim', 'mini-2']) + assert.deepEqual(classify([simulation, disconnected, second], ['mini', 'mini-2'], 'unavailable').ids, ['mini']) +}) + test('disconnected ready platform counts as unavailable and appears only in that tab', () => { const disconnected = { ...mini, status: '연결 끊김', connection: { headscaleOnline: false, agentHealthy: false } } const platforms = [simulation, disconnected]