import { expect, tap } from '@git.zone/tstest/tapbundle'; import { ZhaMapper } from '../../ts/integrations/zha/index.js'; const snapshot = ZhaMapper.toSnapshot({ radio: { path: '/dev/ttyUSB0', radioType: 'znp' }, coordinator: { ieee: '00:11:22:33:44:55:66:77', model: 'CC2652' }, devices: [{ ieee: 'aa:bb:cc:dd:ee:ff:00:11', name: 'Kitchen light', manufacturer: 'IKEA', model: 'TRADFRI bulb', available: true, entities: [{ platform: 'light', entityId: 'light.kitchen_light', uniqueId: 'zha_kitchen_light', name: 'Kitchen light', isOn: true, endpointId: 1, clusterId: 6, }], }], }); tap.test('maps ZHA devices and entities', async () => { const devices = ZhaMapper.toDevices(snapshot); const entities = ZhaMapper.toEntities(snapshot); expect(devices.some((deviceArg) => deviceArg.id === 'zha.device.aa_bb_cc_dd_ee_ff_00_11')).toBeTrue(); expect(entities.some((entityArg) => entityArg.id === 'light.kitchen_light' && entityArg.state === 'on')).toBeTrue(); }); export default tap.start();