mirror of
https://github.com/home-assistant/frontend.git
synced 2025-04-26 22:37:21 +00:00
85 lines
1.7 KiB
TypeScript
85 lines
1.7 KiB
TypeScript
import { assert, describe, it } from "vitest";
|
|
|
|
import { canToggleDomain } from "../../../src/common/entity/can_toggle_domain";
|
|
import type { HomeAssistant } from "../../../src/types";
|
|
|
|
describe("canToggleDomain", () => {
|
|
const hass: any = {
|
|
services: {
|
|
light: {
|
|
turn_on: null, // Service keys only need to be present for test
|
|
turn_off: null,
|
|
},
|
|
sensor: {
|
|
custom_service: null,
|
|
},
|
|
},
|
|
};
|
|
|
|
it("Detects lights toggle", () => {
|
|
assert.isTrue(canToggleDomain(hass, "light"));
|
|
});
|
|
|
|
it("Detects sensors do not toggle", () => {
|
|
assert.isFalse(canToggleDomain(hass, "sensor"));
|
|
});
|
|
|
|
it("Detects binary sensors do not toggle", () => {
|
|
assert.isFalse(canToggleDomain(hass, "binary_sensor"));
|
|
});
|
|
|
|
it("Detects covers toggle", () => {
|
|
assert.isTrue(
|
|
canToggleDomain(
|
|
{
|
|
services: {
|
|
cover: {
|
|
open_cover: null,
|
|
},
|
|
},
|
|
} as unknown as HomeAssistant,
|
|
"cover"
|
|
)
|
|
);
|
|
assert.isFalse(
|
|
canToggleDomain(
|
|
{
|
|
services: {
|
|
cover: {
|
|
open: null,
|
|
},
|
|
},
|
|
} as unknown as HomeAssistant,
|
|
"cover"
|
|
)
|
|
);
|
|
});
|
|
|
|
it("Detects lock toggle", () => {
|
|
assert.isTrue(
|
|
canToggleDomain(
|
|
{
|
|
services: {
|
|
lock: {
|
|
lock: null,
|
|
},
|
|
},
|
|
} as unknown as HomeAssistant,
|
|
"lock"
|
|
)
|
|
);
|
|
assert.isFalse(
|
|
canToggleDomain(
|
|
{
|
|
services: {
|
|
lock: {
|
|
unlock: null,
|
|
},
|
|
},
|
|
} as unknown as HomeAssistant,
|
|
"lock"
|
|
)
|
|
);
|
|
});
|
|
});
|