Add some type checking to demo (#24567)

This commit is contained in:
Paulus Schoutsen 2025-03-10 06:24:57 -04:00 committed by GitHub
parent a4cdb294b1
commit 58dd778b3d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 29 additions and 22 deletions

View File

@ -1,9 +1,10 @@
import type { validateConfig } from "../../../src/data/config";
import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
export const mockConfig = (hass: MockHomeAssistant) => { export const mockConfig = (hass: MockHomeAssistant) => {
hass.mockWS("validate_config", () => ({ hass.mockWS<typeof validateConfig>("validate_config", () => ({
actions: { valid: true }, actions: { valid: true, error: null },
conditions: { valid: true }, conditions: { valid: true, error: null },
triggers: { valid: true }, triggers: { valid: true, error: null },
})); }));
}; };

View File

@ -1,8 +1,10 @@
import type { getConfigEntries } from "../../../src/data/config_entries";
import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
export const mockConfigEntries = (hass: MockHomeAssistant) => { export const mockConfigEntries = (hass: MockHomeAssistant) => {
hass.mockWS("config_entries/get", () => ({ hass.mockWS<typeof getConfigEntries>("config_entries/get", () => [
entry_id: "co2signal", {
entry_id: "mock-entry-co2signal",
domain: "co2signal", domain: "co2signal",
title: "Electricity Maps", title: "Electricity Maps",
source: "user", source: "user",
@ -16,5 +18,9 @@ export const mockConfigEntries = (hass: MockHomeAssistant) => {
pref_disable_polling: false, pref_disable_polling: false,
disabled_by: null, disabled_by: null,
reason: null, reason: null,
})); num_subentries: 0,
error_reason_translation_key: null,
error_reason_translation_placeholders: null,
},
]);
}; };

View File

@ -40,13 +40,13 @@ export interface MockHomeAssistant extends HomeAssistant {
addEntities(entites: Entity | Entity[], replace?: boolean); addEntities(entites: Entity | Entity[], replace?: boolean);
updateTranslations(fragment: null | string, language?: string); updateTranslations(fragment: null | string, language?: string);
addTranslations(translations: Record<string, string>, language?: string); addTranslations(translations: Record<string, string>, language?: string);
mockWS( mockWS<T extends (...args) => any = any>(
type: string, type: string,
callback: ( callback: (
msg: any, msg: any,
hass: MockHomeAssistant, hass: MockHomeAssistant,
onChange?: (response: any) => void onChange?: (response: any) => void
) => any ) => Awaited<ReturnType<T>>
); );
mockAPI(path: string | RegExp, callback: MockRestCallback); mockAPI(path: string | RegExp, callback: MockRestCallback);
mockEvent(event); mockEvent(event);