@digital-alchemy/hass 24.6.1 → 24.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  This repository contains generic extensions for interacting with Home Assistant, including websocket & REST API adapters, entity & event management, backup workflows, and more.
8
8
 
9
- - Extended docs: https://docs.digital-alchemy.app/Hass
9
+ - [Extended docs](https://docs.digital-alchemy.app)
10
10
  - [Discord](https://discord.gg/JkZ35Gv97Y)
11
11
 
12
12
  ## ⭐ Features
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@digital-alchemy/hass",
3
3
  "repository": "https://github.com/Digital-Alchemy-TS/hass",
4
4
  "homepage": "https://docs.digital-alchemy.app/Hass",
5
- "version": "24.06.1",
5
+ "version": "24.06.2",
6
6
  "scripts": {
7
7
  "build": "rm -rf dist/; tsc",
8
8
  "lint": "eslint src",
@@ -29,13 +29,13 @@
29
29
  },
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
- "@digital-alchemy/core": "^0.3.18",
32
+ "@digital-alchemy/core": "^24.6.1",
33
33
  "dayjs": "^1.11.11",
34
34
  "prom-client": "^15.1.2",
35
35
  "ws": "^8.17.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@cspell/eslint-plugin": "^8.7.0",
38
+ "@cspell/eslint-plugin": "^8.8.4",
39
39
  "@digital-alchemy/synapse": "^0.3.8",
40
40
  "@digital-alchemy/type-writer": "^0.3.13",
41
41
  "@types/figlet": "^1.5.8",
@@ -43,11 +43,11 @@
43
43
  "@types/js-yaml": "^4.0.9",
44
44
  "@types/minimist": "^1.2.5",
45
45
  "@types/mute-stream": "^0.0.4",
46
- "@types/node": "^20.12.7",
46
+ "@types/node": "^20.14.2",
47
47
  "@types/uuid": "^9.0.8",
48
48
  "@types/ws": "^8.5.10",
49
- "@typescript-eslint/eslint-plugin": "7.8.0",
50
- "@typescript-eslint/parser": "7.8.0",
49
+ "@typescript-eslint/eslint-plugin": "7.13.0",
50
+ "@typescript-eslint/parser": "7.13.0",
51
51
  "eslint": "8.57.0",
52
52
  "eslint-config-prettier": "9.1.0",
53
53
  "eslint-plugin-import": "^2.29.1",
@@ -62,10 +62,10 @@
62
62
  "jest": "^29.7.0",
63
63
  "jest-environment-node": "^29.7.0",
64
64
  "npm-check-updates": "^16.14.20",
65
- "prettier": "^3.2.5",
66
- "ts-jest": "^29.1.2",
67
- "tsx": "^4.7.3",
68
- "type-fest": "^4.18.0",
65
+ "prettier": "^3.3.2",
66
+ "ts-jest": "^29.1.4",
67
+ "tsx": "^4.15.3",
68
+ "type-fest": "^4.20.0",
69
69
  "typescript": "^5.4.5"
70
70
  },
71
71
  "jest": {
@@ -1,29 +0,0 @@
1
- import { TServiceParams } from "@digital-alchemy/core";
2
- export declare function Entities({ synapse, context }: TServiceParams): {
3
- magicSensor: {
4
- getEntity: () => import("@digital-alchemy/hass").ByIdProxy<import("@digital-alchemy/hass").PICK_ENTITY<import("@digital-alchemy/hass").TRawDomains>>;
5
- onUpdate: (callback: import("@digital-alchemy/hass").TEntityUpdateCallback<import("@digital-alchemy/hass").PICK_ENTITY<import("@digital-alchemy/hass").TRawDomains>>) => {
6
- remove(): void;
7
- };
8
- storage: import("@digital-alchemy/synapse").TSynapseEntityStorage<import("@digital-alchemy/synapse").SensorConfiguration<object> & import("@digital-alchemy/synapse").EntityConfigCommon<object>>;
9
- icon: string & import("@digital-alchemy/synapse").SettableConfiguration<string>;
10
- name: string;
11
- attributes: object;
12
- state: string | number;
13
- unit_of_measurement: string | void;
14
- suggested_display_precision: number;
15
- last_reset: import("dayjs").Dayjs;
16
- suggested_unit_of_measurement: string;
17
- };
18
- togglesTheBinarySensor: {
19
- getEntity: () => import("@digital-alchemy/hass").ByIdProxy<import("@digital-alchemy/hass").PICK_ENTITY>;
20
- onUpdate: (callback: import("@digital-alchemy/hass").TEntityUpdateCallback<import("@digital-alchemy/hass").PICK_ENTITY>) => {
21
- remove(): void;
22
- };
23
- storage: import("@digital-alchemy/synapse").TSynapseEntityStorage<import("@digital-alchemy/synapse").BinarySensorConfiguration & import("@digital-alchemy/synapse").EntityConfigCommon<object>>;
24
- is_on: boolean;
25
- icon?: import("@digital-alchemy/synapse").SettableConfiguration<string>;
26
- name: string;
27
- attributes?: object;
28
- };
29
- };
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Entities = void 0;
4
- function Entities({ synapse, context }) {
5
- synapse.switch({ context, name: "bedroom_lamp" });
6
- synapse.switch({ context, name: "kitchen_cabinets" });
7
- synapse.switch({ context, name: "living_room_mood_lights" });
8
- synapse.switch({ context, name: "porch_light" });
9
- const magicSensor = synapse.sensor({
10
- context,
11
- name: "magic",
12
- state: "50",
13
- });
14
- const togglesTheBinarySensor = synapse.binary_sensor({
15
- context,
16
- name: "toggles",
17
- });
18
- return { magicSensor, togglesTheBinarySensor };
19
- }
20
- exports.Entities = Entities;
21
- //# sourceMappingURL=entities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../src/e2e/app/entities.ts"],"names":[],"mappings":";;;AAEA,SAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAkB;IAC3D,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;QACjC,OAAO;QACP,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;QACnD,OAAO;QACP,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;AACjD,CAAC;AAfD,4BAeC"}
@@ -1,10 +0,0 @@
1
- import { Entities } from "./entities";
2
- declare const HASS_E2E: import("@digital-alchemy/core").ApplicationDefinition<{
3
- entities: typeof Entities;
4
- }, import("@digital-alchemy/core").ModuleConfiguration>;
5
- declare module "@digital-alchemy/core" {
6
- interface LoadedModules {
7
- hass_e2e: typeof HASS_E2E;
8
- }
9
- }
10
- export {};
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@digital-alchemy/core");
4
- const synapse_1 = require("@digital-alchemy/synapse");
5
- const __1 = require("../..");
6
- const entities_1 = require("./entities");
7
- const HASS_E2E = (0, core_1.CreateApplication)({
8
- libraries: [synapse_1.LIB_SYNAPSE, __1.LIB_HASS],
9
- name: "hass_e2e",
10
- services: {
11
- entities: entities_1.Entities,
12
- },
13
- });
14
- setImmediate(async () => await HASS_E2E.bootstrap());
15
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/e2e/app/main.ts"],"names":[],"mappings":";;AAAA,gDAA0D;AAC1D,sDAAuD;AAEvD,6BAAiC;AACjC,yCAAsC;AAEtC,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC;IACjC,SAAS,EAAE,CAAC,qBAAW,EAAE,YAAQ,CAAC;IAClC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,QAAQ,EAAE,mBAAQ;KACnB;CACF,CAAC,CAAC;AAQH,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,99 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@digital-alchemy/core");
4
- const helpers_1 = require("../helpers");
5
- const mock_assistant_1 = require("../mock_assistant");
6
- const utils_1 = require("./utils");
7
- describe("Area E2E", () => {
8
- let application;
9
- const testArea = "test";
10
- afterEach(async () => {
11
- if (application) {
12
- await application.teardown();
13
- application = undefined;
14
- }
15
- jest.restoreAllMocks();
16
- });
17
- it("should fire events on registry updated", async () => {
18
- expect.assertions(1);
19
- application = (0, mock_assistant_1.CreateTestingApplication)({
20
- Test({ lifecycle, hass, event }) {
21
- lifecycle.onReady(async () => {
22
- let hit = false;
23
- event.on(helpers_1.AREA_REGISTRY_UPDATED, () => (hit = true));
24
- await hass.socket.fireEvent("area_registry_updated");
25
- await (0, core_1.sleep)(50);
26
- expect(hit).toBe(true);
27
- await application.teardown();
28
- });
29
- },
30
- });
31
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
32
- });
33
- it("should create a area", async () => {
34
- expect.assertions(1);
35
- application = (0, mock_assistant_1.CreateTestingApplication)({
36
- Test({ lifecycle, hass }) {
37
- lifecycle.onReady(async () => {
38
- await hass.area.create({
39
- floor_id: "downstairs",
40
- name: "test",
41
- });
42
- expect(hass.area.current.some(i => i.area_id === testArea)).toBe(true);
43
- await application.teardown();
44
- });
45
- },
46
- });
47
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
48
- });
49
- it("should update a area", async () => {
50
- expect.assertions(1);
51
- application = (0, mock_assistant_1.CreateTestingApplication)({
52
- Test({ lifecycle, hass }) {
53
- lifecycle.onReady(async () => {
54
- const item = hass.area.current.find(i => i.area_id === testArea);
55
- await hass.area.update({
56
- ...item,
57
- name: "extra test",
58
- });
59
- expect(hass.area.current.find(i => i.area_id === testArea)?.name).toBe("extra test");
60
- await application.teardown();
61
- });
62
- },
63
- });
64
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
65
- });
66
- it("should add and remove from area", async () => {
67
- expect.assertions(3);
68
- application = (0, mock_assistant_1.CreateTestingApplication)({
69
- Test({ lifecycle, hass }) {
70
- lifecycle.onReady(async () => {
71
- await hass.area.apply(testArea, ["switch.porch_light"]);
72
- await (0, core_1.sleep)(10);
73
- expect(hass.entity.registry.current.find(i => i.entity_id === "switch.porch_light")?.area_id).toBe(testArea);
74
- expect(hass.entity.byArea(testArea).length).toBe(1);
75
- await hass.area.apply("", ["switch.porch_light"]);
76
- await (0, core_1.sleep)(10);
77
- expect(hass.entity.registry.current.find(i => i.entity_id === "switch.porch_light")?.area_id).toBe("");
78
- await application.teardown();
79
- });
80
- },
81
- });
82
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
83
- });
84
- it("should delete a area", async () => {
85
- expect.assertions(2);
86
- application = (0, mock_assistant_1.CreateTestingApplication)({
87
- Test({ lifecycle, hass }) {
88
- lifecycle.onReady(async () => {
89
- expect(hass.area.current.some(i => i.area_id === testArea)).toBe(true);
90
- await hass.area.delete(testArea);
91
- expect(hass.area.current.some(i => i.area_id === testArea)).toBe(false);
92
- await application.teardown();
93
- });
94
- },
95
- });
96
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
97
- });
98
- });
99
- //# sourceMappingURL=area.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"area.spec.js","sourceRoot":"","sources":["../../src/e2e/area.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@digital-alchemy/core");
4
- const mock_assistant_1 = require("../mock_assistant");
5
- const utils_1 = require("./utils");
6
- const SETTLE_TIMEOUT = 1000;
7
- describe("Call Proxy E2E", () => {
8
- let application;
9
- afterEach(async () => {
10
- if (application) {
11
- await application.teardown();
12
- application = undefined;
13
- }
14
- jest.restoreAllMocks();
15
- });
16
- it("should cause a service call to happen", async () => {
17
- expect.assertions(1);
18
- application = (0, mock_assistant_1.CreateTestingApplication)({
19
- Test({ lifecycle, hass }) {
20
- lifecycle.onReady(async () => {
21
- let hit = false;
22
- const wait = (0, core_1.sleep)(SETTLE_TIMEOUT);
23
- hass.entity.byId("switch.porch_light").onUpdate(() => {
24
- hit = true;
25
- wait.kill("continue");
26
- });
27
- await hass.call.switch.toggle({
28
- entity_id: "switch.porch_light",
29
- });
30
- await wait;
31
- expect(hit).toBe(true);
32
- await application.teardown();
33
- });
34
- },
35
- });
36
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
37
- });
38
- it("should be possible to mock a call", async () => {
39
- expect.assertions(1);
40
- application = (0, mock_assistant_1.CreateTestingApplication)({
41
- Test({ lifecycle, hass }) {
42
- lifecycle.onReady(async () => {
43
- const spy = jest
44
- .spyOn(hass.call.switch, "toggle")
45
- .mockImplementation(async () => undefined);
46
- await hass.call.switch.toggle({
47
- entity_id: "switch.porch_light",
48
- });
49
- expect(spy).toHaveBeenCalledWith({ entity_id: "switch.porch_light" });
50
- await application.teardown();
51
- });
52
- },
53
- });
54
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
55
- });
56
- });
57
- //# sourceMappingURL=call-proxy.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call-proxy.spec.js","sourceRoot":"","sources":["../../src/e2e/call-proxy.spec.ts"],"names":[],"mappings":";;AAAA,gDAM+B;AAE/B,sDAA0E;AAC1E,mCAA0C;AAE1C,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,WAGH,CAAC;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC7B,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,WAAW,GAAG,IAAA,yCAAwB,EAAC;YACrC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAkB;gBACtC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;oBAC3B,IAAI,GAAG,GAAG,KAAK,CAAC;oBAChB,MAAM,IAAI,GAAG,IAAA,YAAK,EAAC,cAAc,CAAC,CAAC;oBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;wBACnD,GAAG,GAAG,IAAI,CAAC;wBACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;wBAC5B,SAAS,EAAE,oBAAoB;qBAChC,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC;oBACX,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,SAAS,CAAC,IAAA,4BAAW,EAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAR,gBAAQ,EAAE,KAAK,EAAL,aAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,WAAW,GAAG,IAAA,yCAAwB,EAAC;YACrC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAkB;gBACtC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;oBAC3B,MAAM,GAAG,GAAG,IAAI;yBACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;yBACjC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;wBAC5B,SAAS,EAAE,oBAAoB;qBAChC,CAAC,CAAC;oBACH,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACtE,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,SAAS,CAAC,IAAA,4BAAW,EAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAR,gBAAQ,EAAE,KAAK,EAAL,aAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mock_assistant_1 = require("../mock_assistant");
4
- const utils_1 = require("./utils");
5
- describe("Device E2E", () => {
6
- let application;
7
- afterEach(async () => {
8
- if (application) {
9
- await application.teardown();
10
- application = undefined;
11
- }
12
- jest.restoreAllMocks();
13
- });
14
- it("should delete a floor", async () => {
15
- expect.assertions(1);
16
- application = (0, mock_assistant_1.CreateTestingApplication)({
17
- Test({ lifecycle, hass }) {
18
- lifecycle.onReady(async () => {
19
- expect(hass.device.current.length).toBe(1);
20
- await application.teardown();
21
- });
22
- },
23
- });
24
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
25
- });
26
- });
27
- //# sourceMappingURL=device.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"device.spec.js","sourceRoot":"","sources":["../../src/e2e/device.spec.ts"],"names":[],"mappings":";;AAOA,sDAA0E;AAC1E,mCAA0C;AAE1C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,WAGH,CAAC;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC7B,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,WAAW,GAAG,IAAA,yCAAwB,EAAC;YACrC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAkB;gBACtC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;oBAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,SAAS,CAAC,IAAA,4BAAW,EAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAR,gBAAQ,EAAE,KAAK,EAAL,aAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,328 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@digital-alchemy/core");
4
- const mock_assistant_1 = require("../mock_assistant");
5
- const utils_1 = require("./utils");
6
- describe("Entity E2E", () => {
7
- let application;
8
- afterEach(async () => {
9
- if (application) {
10
- await application.teardown();
11
- application = undefined;
12
- }
13
- jest.restoreAllMocks();
14
- });
15
- describe("Proxy Objects", () => {
16
- it("should maintain accurate state", async () => {
17
- expect.assertions(3);
18
- application = (0, mock_assistant_1.CreateTestingApplication)({
19
- Test({ lifecycle, hass }) {
20
- lifecycle.onReady(async () => {
21
- const porch = hass.entity.byId("switch.porch_light");
22
- const startRaw = hass.entity.raw("switch.porch_light");
23
- expect(porch.state).toBe(startRaw.state);
24
- hass.call.switch.toggle({ entity_id: "switch.porch_light" });
25
- const updated = await porch.nextState();
26
- const endRaw = hass.entity.raw("switch.porch_light");
27
- expect(updated.state).toBe(porch.state);
28
- expect(endRaw.state).toBe(porch.state);
29
- await application.teardown();
30
- });
31
- },
32
- });
33
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
34
- });
35
- it("should provide all the properties", async () => {
36
- expect.assertions(6);
37
- application = (0, mock_assistant_1.CreateTestingApplication)({
38
- Test({ lifecycle, hass }) {
39
- lifecycle.onReady(async () => {
40
- const porch = hass.entity.byId("switch.porch_light");
41
- const raw = hass.entity.raw("switch.porch_light");
42
- expect(porch.state).toBe(raw.state);
43
- expect(porch.attributes).toEqual(raw.attributes);
44
- expect(porch.last_changed).toBe(raw.last_changed);
45
- expect(porch.last_updated).toBe(raw.last_updated);
46
- expect(porch.last_reported).toBe(raw.last_reported);
47
- expect(porch.entity_id).toBe(raw.entity_id);
48
- await application.teardown();
49
- });
50
- },
51
- });
52
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
53
- });
54
- it("should run callbacks onUpdate", async () => {
55
- expect.assertions(1);
56
- let counter = 0;
57
- const expected = 3;
58
- application = (0, mock_assistant_1.CreateTestingApplication)({
59
- Test({ lifecycle, hass }) {
60
- lifecycle.onReady(async () => {
61
- const porch = hass.entity.byId("switch.porch_light");
62
- porch.onUpdate(() => counter++);
63
- for (let i = 0; i < expected; i++) {
64
- await hass.call.switch.toggle({
65
- entity_id: "switch.porch_light",
66
- });
67
- await (0, core_1.sleep)(50);
68
- }
69
- expect(counter).toBe(expected);
70
- await application.teardown();
71
- });
72
- },
73
- });
74
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
75
- });
76
- it("should able to remove onUpdate via param", async () => {
77
- expect.assertions(1);
78
- let counter = 0;
79
- application = (0, mock_assistant_1.CreateTestingApplication)({
80
- Test({ lifecycle, hass }) {
81
- lifecycle.onReady(async () => {
82
- const porch = hass.entity.byId("switch.porch_light");
83
- porch.onUpdate((_new_state, _old_state, remove) => {
84
- remove();
85
- counter++;
86
- });
87
- for (let i = 0; i <= 3; i++) {
88
- await hass.call.switch.toggle({
89
- entity_id: "switch.porch_light",
90
- });
91
- await (0, core_1.sleep)(50);
92
- }
93
- expect(counter).toBe(1);
94
- await application.teardown();
95
- });
96
- },
97
- });
98
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
99
- });
100
- it("should able to remove onUpdate via return", async () => {
101
- expect.assertions(1);
102
- let counter = 0;
103
- application = (0, mock_assistant_1.CreateTestingApplication)({
104
- Test({ lifecycle, hass }) {
105
- lifecycle.onReady(async () => {
106
- const porch = hass.entity.byId("switch.porch_light");
107
- const { remove } = porch.onUpdate(() => {
108
- remove();
109
- counter++;
110
- });
111
- for (let i = 0; i <= 3; i++) {
112
- await hass.call.switch.toggle({
113
- entity_id: "switch.porch_light",
114
- });
115
- await (0, core_1.sleep)(50);
116
- }
117
- expect(counter).toBe(1);
118
- await application.teardown();
119
- });
120
- },
121
- });
122
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
123
- });
124
- it("should able to remove onUpdate via removeAll", async () => {
125
- expect.assertions(1);
126
- let counter = 0;
127
- application = (0, mock_assistant_1.CreateTestingApplication)({
128
- Test({ lifecycle, hass }) {
129
- lifecycle.onReady(async () => {
130
- const porch = hass.entity.byId("switch.porch_light");
131
- porch.onUpdate(() => {
132
- porch.removeAllListeners();
133
- counter++;
134
- });
135
- for (let i = 0; i <= 3; i++) {
136
- await hass.call.switch.toggle({
137
- entity_id: "switch.porch_light",
138
- });
139
- await (0, core_1.sleep)(50);
140
- }
141
- expect(counter).toBe(1);
142
- await application.teardown();
143
- });
144
- },
145
- });
146
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
147
- });
148
- it("should run callbacks once", async () => {
149
- expect.assertions(1);
150
- let counter = 0;
151
- application = (0, mock_assistant_1.CreateTestingApplication)({
152
- Test({ lifecycle, hass }) {
153
- lifecycle.onReady(async () => {
154
- const porch = hass.entity.byId("switch.porch_light");
155
- porch.once(() => counter++);
156
- for (let i = 0; i <= 2; i++) {
157
- await hass.call.switch.toggle({
158
- entity_id: "switch.porch_light",
159
- });
160
- await (0, core_1.sleep)(50);
161
- }
162
- expect(counter).toBe(1);
163
- await application.teardown();
164
- });
165
- },
166
- });
167
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
168
- });
169
- it("should get next state", async () => {
170
- expect.assertions(1);
171
- application = (0, mock_assistant_1.CreateTestingApplication)({
172
- Test({ lifecycle, hass }) {
173
- lifecycle.onReady(async () => {
174
- const porch = hass.entity.byId("switch.porch_light");
175
- setImmediate(async () => {
176
- const next = await porch.nextState();
177
- expect(next.state).toBe(porch.state);
178
- });
179
- await hass.call.switch.toggle({ entity_id: "switch.porch_light" });
180
- await (0, core_1.sleep)(50);
181
- await application.teardown();
182
- });
183
- },
184
- });
185
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
186
- });
187
- it("should run callbacks onUpdate", async () => {
188
- expect.assertions(1);
189
- application = (0, mock_assistant_1.CreateTestingApplication)({
190
- Test({ lifecycle, hass }) {
191
- lifecycle.onReady(async () => {
192
- const porch = hass.entity.byId("switch.porch_light");
193
- setImmediate(async () => {
194
- const next = await porch.nextState();
195
- expect(next.state).toBe(porch.state);
196
- });
197
- await hass.call.switch.toggle({ entity_id: "switch.porch_light" });
198
- await (0, core_1.sleep)(50);
199
- await application.teardown();
200
- });
201
- },
202
- });
203
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
204
- });
205
- });
206
- describe("Lifecycle", () => {
207
- it("should have data available onReady", async () => {
208
- expect.assertions(6);
209
- application = (0, mock_assistant_1.CreateTestingApplication)({
210
- Test({ lifecycle, hass }) {
211
- lifecycle.onReady(async () => {
212
- expect(hass.entity.listEntities().length).toEqual(18);
213
- expect(hass.area.current.length).toEqual(3);
214
- expect(hass.floor.current.length).toEqual(2);
215
- expect(hass.device.current.length).toEqual(1);
216
- expect(hass.label.current.length).toEqual(1);
217
- expect(hass.entity.registry.current.length).toEqual(19);
218
- await application.teardown();
219
- });
220
- },
221
- });
222
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
223
- });
224
- });
225
- describe("Querying", () => {
226
- it("should return properly byArea", async () => {
227
- expect.assertions(3);
228
- application = (0, mock_assistant_1.CreateTestingApplication)({
229
- Test({ lifecycle, hass }) {
230
- lifecycle.onReady(async () => {
231
- expect(hass.entity.byArea("bedroom")).toEqual([
232
- "switch.bedroom_lamp",
233
- ]);
234
- expect(hass.entity.byArea("living_room")).toEqual([
235
- "switch.living_room_mood_lights",
236
- ]);
237
- expect(hass.entity.byArea("kitchen")).toEqual([
238
- "switch.kitchen_cabinets",
239
- ]);
240
- await application.teardown();
241
- });
242
- },
243
- });
244
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
245
- });
246
- it("should return properly byFloor", async () => {
247
- expect.assertions(2);
248
- application = (0, mock_assistant_1.CreateTestingApplication)({
249
- Test({ lifecycle, hass }) {
250
- lifecycle.onReady(async () => {
251
- expect(hass.entity.byFloor("upstairs")).toEqual([
252
- "switch.bedroom_lamp",
253
- ]);
254
- expect(hass.entity.byFloor("downstairs")).toEqual([
255
- "switch.kitchen_cabinets",
256
- "switch.living_room_mood_lights",
257
- ]);
258
- await application.teardown();
259
- });
260
- },
261
- });
262
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
263
- });
264
- it("should return properly byLabel", async () => {
265
- expect.assertions(1);
266
- application = (0, mock_assistant_1.CreateTestingApplication)({
267
- Test({ lifecycle, hass }) {
268
- lifecycle.onReady(async () => {
269
- expect(hass.entity.byLabel("synapse")).toEqual([
270
- "binary_sensor.hass_e2e_online",
271
- "sensor.magic",
272
- "binary_sensor.toggles",
273
- "switch.bedroom_lamp",
274
- "switch.kitchen_cabinets",
275
- "switch.living_room_mood_lights",
276
- "switch.porch_light",
277
- ]);
278
- await application.teardown();
279
- });
280
- },
281
- });
282
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
283
- });
284
- it("should return properly byPlatform", async () => {
285
- expect.assertions(1);
286
- application = (0, mock_assistant_1.CreateTestingApplication)({
287
- Test({ lifecycle, hass }) {
288
- lifecycle.onReady(async () => {
289
- expect(hass.entity.byPlatform("synapse")).toEqual([
290
- "binary_sensor.hass_e2e_online",
291
- "sensor.magic",
292
- "binary_sensor.toggles",
293
- "switch.bedroom_lamp",
294
- "switch.kitchen_cabinets",
295
- "switch.living_room_mood_lights",
296
- "switch.porch_light",
297
- ]);
298
- await application.teardown();
299
- });
300
- },
301
- });
302
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
303
- });
304
- it("should return properly byDevice", async () => {
305
- expect.assertions(1);
306
- application = (0, mock_assistant_1.CreateTestingApplication)({
307
- Test({ lifecycle, hass }) {
308
- lifecycle.onReady(async () => {
309
- expect(hass.entity.byDevice("308e39cf50a9fc6c30b4110724ed1f2e")).toEqual([
310
- "sensor.sun_next_dawn",
311
- "sensor.sun_next_dusk",
312
- "sensor.sun_next_midnight",
313
- "sensor.sun_next_noon",
314
- "sensor.sun_next_rising",
315
- "sensor.sun_next_setting",
316
- "sensor.sun_solar_elevation",
317
- "sensor.sun_solar_azimuth",
318
- "sensor.sun_solar_rising",
319
- ]);
320
- await application.teardown();
321
- });
322
- },
323
- });
324
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
325
- });
326
- });
327
- });
328
- //# sourceMappingURL=entity.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity.spec.js","sourceRoot":"","sources":["../../src/e2e/entity.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@digital-alchemy/core");
4
- const mock_assistant_1 = require("../mock_assistant");
5
- const utils_1 = require("./utils");
6
- const SETTLE_TIMEOUT = 1000;
7
- describe("Fetch API E2E", () => {
8
- let application;
9
- afterEach(async () => {
10
- if (application) {
11
- await application.teardown();
12
- application = undefined;
13
- }
14
- jest.restoreAllMocks();
15
- });
16
- it("should perform service calls", async () => {
17
- expect.assertions(1);
18
- application = (0, mock_assistant_1.CreateTestingApplication)({
19
- Test({ lifecycle, hass }) {
20
- lifecycle.onReady(async () => {
21
- let hit = false;
22
- const wait = (0, core_1.sleep)(SETTLE_TIMEOUT);
23
- hass.entity.byId("switch.porch_light").onUpdate(() => {
24
- hit = true;
25
- wait.kill("continue");
26
- });
27
- await hass.fetch.callService("switch.toggle", {
28
- entity_id: "switch.porch_light",
29
- });
30
- await wait;
31
- expect(hit).toBe(true);
32
- await application.teardown();
33
- });
34
- },
35
- });
36
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
37
- });
38
- it("should check config", async () => {
39
- expect.assertions(1);
40
- application = (0, mock_assistant_1.CreateTestingApplication)({
41
- Test({ lifecycle, hass }) {
42
- lifecycle.onReady(async () => {
43
- const result = await hass.fetch.checkConfig();
44
- expect(result.result).toBe("valid");
45
- await application.teardown();
46
- });
47
- },
48
- });
49
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
50
- });
51
- it("should retrieve entities", async () => {
52
- expect.assertions(1);
53
- application = (0, mock_assistant_1.CreateTestingApplication)({
54
- Test({ lifecycle, hass }) {
55
- lifecycle.onReady(async () => {
56
- const result = await hass.fetch.getAllEntities();
57
- expect(result.length).toBe(hass.entity.listEntities().length);
58
- await application.teardown();
59
- });
60
- },
61
- });
62
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
63
- });
64
- it("should retrieve services", async () => {
65
- expect.assertions(2);
66
- application = (0, mock_assistant_1.CreateTestingApplication)({
67
- Test({ lifecycle, hass }) {
68
- lifecycle.onReady(async () => {
69
- const result = await hass.fetch.getAllEntities();
70
- expect(core_1.is.array(result)).toBe(true);
71
- expect(result.length).toBe(18);
72
- await application.teardown();
73
- });
74
- },
75
- });
76
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
77
- });
78
- });
79
- //# sourceMappingURL=fetch.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.spec.js","sourceRoot":"","sources":["../../src/e2e/fetch.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@digital-alchemy/core");
4
- const helpers_1 = require("../helpers");
5
- const mock_assistant_1 = require("../mock_assistant");
6
- const utils_1 = require("./utils");
7
- describe("Floor E2E", () => {
8
- let application;
9
- const testFloor = "test";
10
- afterEach(async () => {
11
- if (application) {
12
- await application.teardown();
13
- application = undefined;
14
- }
15
- jest.restoreAllMocks();
16
- });
17
- it("should fire events on registry updated", async () => {
18
- expect.assertions(1);
19
- application = (0, mock_assistant_1.CreateTestingApplication)({
20
- Test({ lifecycle, hass, event }) {
21
- lifecycle.onReady(async () => {
22
- let hit = false;
23
- event.on(helpers_1.FLOOR_REGISTRY_UPDATED, () => (hit = true));
24
- await hass.socket.fireEvent("floor_registry_updated");
25
- await (0, core_1.sleep)(50);
26
- expect(hit).toBe(true);
27
- await application.teardown();
28
- });
29
- },
30
- });
31
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
32
- });
33
- it("should create a floor", async () => {
34
- expect.assertions(1);
35
- application = (0, mock_assistant_1.CreateTestingApplication)({
36
- Test({ lifecycle, hass }) {
37
- lifecycle.onReady(async () => {
38
- await hass.floor.create({
39
- level: 1,
40
- name: "test",
41
- });
42
- expect(hass.floor.current.some(i => i.floor_id === testFloor)).toBe(true);
43
- await application.teardown();
44
- });
45
- },
46
- });
47
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
48
- });
49
- it("should update a floor", async () => {
50
- expect.assertions(1);
51
- application = (0, mock_assistant_1.CreateTestingApplication)({
52
- Test({ lifecycle, hass }) {
53
- lifecycle.onReady(async () => {
54
- const item = hass.floor.current.find(i => i.floor_id === testFloor);
55
- await hass.floor.update({
56
- ...item,
57
- name: "extra test",
58
- });
59
- expect(hass.floor.current.find(i => i.floor_id === testFloor)?.name).toBe("extra test");
60
- await application.teardown();
61
- });
62
- },
63
- });
64
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
65
- });
66
- it("should delete a floor", async () => {
67
- expect.assertions(2);
68
- application = (0, mock_assistant_1.CreateTestingApplication)({
69
- Test({ lifecycle, hass }) {
70
- lifecycle.onReady(async () => {
71
- expect(hass.floor.current.some(i => i.floor_id === testFloor)).toBe(true);
72
- await hass.floor.delete(testFloor);
73
- expect(hass.floor.current.some(i => i.floor_id === testFloor)).toBe(false);
74
- await application.teardown();
75
- });
76
- },
77
- });
78
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
79
- });
80
- });
81
- //# sourceMappingURL=floor.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"floor.spec.js","sourceRoot":"","sources":["../../src/e2e/floor.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@digital-alchemy/core");
4
- const helpers_1 = require("../helpers");
5
- const mock_assistant_1 = require("../mock_assistant");
6
- const utils_1 = require("./utils");
7
- describe("Label E2E", () => {
8
- let application;
9
- const testLabel = "test";
10
- afterEach(async () => {
11
- if (application) {
12
- await application.teardown();
13
- application = undefined;
14
- }
15
- jest.restoreAllMocks();
16
- });
17
- it("should fire events on registry updated", async () => {
18
- expect.assertions(1);
19
- application = (0, mock_assistant_1.CreateTestingApplication)({
20
- Test({ lifecycle, hass, event }) {
21
- lifecycle.onReady(async () => {
22
- let hit = false;
23
- event.on(helpers_1.LABEL_REGISTRY_UPDATED, () => (hit = true));
24
- await hass.socket.fireEvent("label_registry_updated");
25
- await (0, core_1.sleep)(50);
26
- expect(hit).toBe(true);
27
- await application.teardown();
28
- });
29
- },
30
- });
31
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
32
- });
33
- it("should create a label", async () => {
34
- expect.assertions(1);
35
- application = (0, mock_assistant_1.CreateTestingApplication)({
36
- Test({ lifecycle, hass }) {
37
- lifecycle.onReady(async () => {
38
- await hass.label.create({
39
- color: "accent",
40
- icon: "mdi:account",
41
- name: testLabel,
42
- });
43
- expect(hass.label.current.some(i => i.label_id === testLabel)).toBe(true);
44
- await application.teardown();
45
- });
46
- },
47
- });
48
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
49
- });
50
- it("should update a label", async () => {
51
- expect.assertions(1);
52
- application = (0, mock_assistant_1.CreateTestingApplication)({
53
- Test({ lifecycle, hass }) {
54
- lifecycle.onReady(async () => {
55
- const item = hass.label.current.find(i => i.label_id === testLabel);
56
- await hass.label.update({
57
- ...item,
58
- name: "extra test",
59
- });
60
- expect(hass.label.current.find(i => i.label_id === testLabel)?.name).toBe("extra test");
61
- await application.teardown();
62
- });
63
- },
64
- });
65
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
66
- });
67
- it("should delete a label", async () => {
68
- expect.assertions(2);
69
- application = (0, mock_assistant_1.CreateTestingApplication)({
70
- Test({ lifecycle, hass }) {
71
- lifecycle.onReady(async () => {
72
- expect(hass.label.current.some(i => i.label_id === testLabel)).toBe(true);
73
- await hass.label.delete(testLabel);
74
- expect(hass.label.current.some(i => i.label_id === testLabel)).toBe(false);
75
- await application.teardown();
76
- });
77
- },
78
- });
79
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { BASE_URL: utils_1.BASE_URL, TOKEN: utils_1.TOKEN } }));
80
- });
81
- });
82
- //# sourceMappingURL=label.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"label.spec.js","sourceRoot":"","sources":["../../src/e2e/label.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const BASE_URL = "http://localhost:9123";
2
- export declare const TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhYTdjOGQ5MzBiMDM0MDM2OGVjZTdjOTRjMTcyOWQ0OSIsImlhdCI6MTcxNDYwMzkyMywiZXhwIjoyMDI5OTYzOTIzfQ.Tvoh25bukQh5T5WIuvvkL9jVBihcOGG6D5JYdqdwx1U";
package/dist/e2e/utils.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TOKEN = exports.BASE_URL = void 0;
4
- /* eslint-disable @cspell/spellchecker */
5
- exports.BASE_URL = "http://localhost:9123";
6
- exports.TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhYTdjOGQ5MzBiMDM0MDM2OGVjZTdjOTRjMTcyOWQ0OSIsImlhdCI6MTcxNDYwMzkyMywiZXhwIjoyMDI5OTYzOTIzfQ.Tvoh25bukQh5T5WIuvvkL9jVBihcOGG6D5JYdqdwx1U";
7
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/e2e/utils.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAC5B,QAAA,QAAQ,GAAG,uBAAuB,CAAC;AACnC,QAAA,KAAK,GAChB,yLAAyL,CAAC"}