49 lines
1.5 KiB
TypeScript
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();
|
|
});
|
|
});
|