Files
advanced-camera-card/tests/ha/get-entity-title.test.ts

49 lines
1.5 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { getEntityTitle } from '../../src/ha/get-entity-title';
import type { HomeAssistant } from '../../src/ha/types';
import { createHASS, createStateEntity } from '../test-utils';
describe('getEntityTitle', () => {
const hass: HomeAssistant = createHASS({
'sensor.temperature': createStateEntity({
attributes: {
friendly_name: 'Temperature Sensor',
},
}),
'light.living_room': createStateEntity({
attributes: {
friendly_name: 'Living Room Light',
},
}),
'switch.no_friendly': createStateEntity({
attributes: {},
}),
});
it('returns the friendly_name for a valid entity', () => {
expect(getEntityTitle(hass, 'sensor.temperature')).toBe('Temperature Sensor');
expect(getEntityTitle(hass, 'light.living_room')).toBe('Living Room Light');
});
it('returns null if the entity does not exist', () => {
expect(getEntityTitle(hass, 'sensor.unknown')).toBeNull();
});
it('returns null if hass is undefined', () => {
expect(getEntityTitle(undefined, 'sensor.temperature')).toBeNull();
});
it('returns null if entity is undefined', () => {
expect(getEntityTitle(hass)).toBeNull();
});
it('returns null if friendly_name attribute is missing', () => {
expect(getEntityTitle(hass, 'switch.no_friendly')).toBeNull();
});
it('returns null if both hass and entity are undefined', () => {
expect(getEntityTitle()).toBeNull();
});
});