37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
|
|
import { getEntitiesFromHASS } from '../../src/ha/get-entities';
|
|
import { createHASS, createStateEntity } from '../test-utils';
|
|
|
|
describe('getEntitiesFromHASS', () => {
|
|
const hass = createHASS({
|
|
'camera.front_door': createStateEntity(),
|
|
'light.kitchen': createStateEntity(),
|
|
'light.living_room': createStateEntity(),
|
|
'sensor.temperature': createStateEntity(),
|
|
'switch.garage': createStateEntity(),
|
|
});
|
|
|
|
it('returns all entity ids when no domain is specified', () => {
|
|
expect(getEntitiesFromHASS(hass)).toEqual([
|
|
'camera.front_door',
|
|
'light.kitchen',
|
|
'light.living_room',
|
|
'sensor.temperature',
|
|
'switch.garage',
|
|
]);
|
|
});
|
|
|
|
it('returns only entities of the specified domain', () => {
|
|
expect(getEntitiesFromHASS(hass, 'light')).toEqual([
|
|
'light.kitchen',
|
|
'light.living_room',
|
|
]);
|
|
});
|
|
|
|
it('returns an empty array if no entities match the domain', () => {
|
|
const result = getEntitiesFromHASS(hass, 'binary_sensor');
|
|
expect(result).toEqual([]);
|
|
});
|
|
});
|