35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import { STATE_RUNNING } from 'home-assistant-js-websocket';
|
|
import { describe, expect, it } from 'vitest';
|
|
import { isHassReady } from '../../src/ha/is-hass-ready';
|
|
import { createHASS } from '../test-utils';
|
|
|
|
describe('isHassReady', () => {
|
|
it('should return false for null', () => {
|
|
expect(isHassReady(null)).toBe(false);
|
|
});
|
|
|
|
it('should return false for undefined', () => {
|
|
expect(isHassReady(undefined)).toBe(false);
|
|
});
|
|
|
|
it('should return false when disconnected', () => {
|
|
const hass = createHASS();
|
|
hass.connected = false;
|
|
expect(isHassReady(hass)).toBe(false);
|
|
});
|
|
|
|
it('should return false when integrations are still loading', () => {
|
|
const hass = createHASS();
|
|
hass.connected = true;
|
|
hass.config.state = 'NOT_RUNNING';
|
|
expect(isHassReady(hass)).toBe(false);
|
|
});
|
|
|
|
it('should return true when connected and running', () => {
|
|
const hass = createHASS();
|
|
hass.connected = true;
|
|
hass.config.state = STATE_RUNNING;
|
|
expect(isHassReady(hass)).toBe(true);
|
|
});
|
|
});
|