@digital-alchemy/hass 25.5.1 → 25.5.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.
Files changed (82) hide show
  1. package/dist/hass.module.d.mts +13 -1
  2. package/dist/hass.module.mjs +16 -1
  3. package/dist/hass.module.mjs.map +1 -1
  4. package/dist/helpers/fetch.mjs +0 -1
  5. package/dist/helpers/fetch.mjs.map +1 -1
  6. package/dist/helpers/utility.d.mts +1 -0
  7. package/dist/helpers/utility.mjs +4 -0
  8. package/dist/helpers/utility.mjs.map +1 -1
  9. package/dist/mock_assistant/mock-assistant.module.d.mts +12 -0
  10. package/dist/services/area.service.mjs +9 -1
  11. package/dist/services/area.service.mjs.map +1 -1
  12. package/dist/services/call-proxy.service.mjs +10 -2
  13. package/dist/services/call-proxy.service.mjs.map +1 -1
  14. package/dist/services/config.service.mjs +15 -13
  15. package/dist/services/config.service.mjs.map +1 -1
  16. package/dist/services/device.service.mjs +3 -1
  17. package/dist/services/device.service.mjs.map +1 -1
  18. package/dist/services/diagnostics.service.d.mts +26 -0
  19. package/dist/services/diagnostics.service.mjs +41 -0
  20. package/dist/services/diagnostics.service.mjs.map +1 -0
  21. package/dist/services/entity.service.mjs +12 -1
  22. package/dist/services/entity.service.mjs.map +1 -1
  23. package/dist/services/fetch-api.service.mjs +8 -2
  24. package/dist/services/fetch-api.service.mjs.map +1 -1
  25. package/dist/services/floor.service.mjs +3 -1
  26. package/dist/services/floor.service.mjs.map +1 -1
  27. package/dist/services/id-by.service.mjs +2 -1
  28. package/dist/services/id-by.service.mjs.map +1 -1
  29. package/dist/services/index.d.mts +1 -0
  30. package/dist/services/index.mjs +1 -0
  31. package/dist/services/index.mjs.map +1 -1
  32. package/dist/services/label.service.mjs +3 -1
  33. package/dist/services/label.service.mjs.map +1 -1
  34. package/dist/services/reference.service.mjs +15 -4
  35. package/dist/services/reference.service.mjs.map +1 -1
  36. package/dist/services/registry.service.mjs +8 -8
  37. package/dist/services/registry.service.mjs.map +1 -1
  38. package/dist/services/websocket-api.service.mjs +10 -2
  39. package/dist/services/websocket-api.service.mjs.map +1 -1
  40. package/dist/services/zone.service.mjs +3 -1
  41. package/dist/services/zone.service.mjs.map +1 -1
  42. package/dist/testing/area.spec.mjs +141 -132
  43. package/dist/testing/area.spec.mjs.map +1 -1
  44. package/dist/testing/device.spec.mjs +17 -0
  45. package/dist/testing/device.spec.mjs.map +1 -1
  46. package/dist/testing/entity.spec.mjs +167 -0
  47. package/dist/testing/entity.spec.mjs.map +1 -1
  48. package/dist/testing/fetch.spec.d.mts +1 -0
  49. package/dist/testing/fetch.spec.mjs +45 -0
  50. package/dist/testing/fetch.spec.mjs.map +1 -0
  51. package/dist/testing/floor.spec.mjs +17 -0
  52. package/dist/testing/floor.spec.mjs.map +1 -1
  53. package/dist/testing/label.spec.mjs +17 -0
  54. package/dist/testing/label.spec.mjs.map +1 -1
  55. package/dist/testing/zone.spec.mjs +24 -5
  56. package/dist/testing/zone.spec.mjs.map +1 -1
  57. package/package.json +17 -17
  58. package/src/hass.module.mts +18 -0
  59. package/src/helpers/fetch.mts +1 -1
  60. package/src/helpers/utility.mts +5 -0
  61. package/src/services/area.service.mts +9 -0
  62. package/src/services/call-proxy.service.mts +16 -9
  63. package/src/services/config.service.mts +21 -16
  64. package/src/services/device.service.mts +3 -0
  65. package/src/services/diagnostics.service.mts +45 -0
  66. package/src/services/entity.service.mts +12 -0
  67. package/src/services/fetch-api.service.mts +11 -2
  68. package/src/services/floor.service.mts +3 -0
  69. package/src/services/id-by.service.mts +2 -1
  70. package/src/services/index.mts +1 -0
  71. package/src/services/label.service.mts +3 -0
  72. package/src/services/reference.service.mts +15 -3
  73. package/src/services/registry.service.mts +8 -8
  74. package/src/services/websocket-api.service.mts +10 -2
  75. package/src/services/zone.service.mts +3 -0
  76. package/src/testing/area.spec.mts +153 -140
  77. package/src/testing/device.spec.mts +22 -0
  78. package/src/testing/entity.spec.mts +201 -0
  79. package/src/testing/fetch.spec.mts +54 -0
  80. package/src/testing/floor.spec.mts +22 -0
  81. package/src/testing/label.spec.mts +22 -0
  82. package/src/testing/zone.spec.mts +29 -5
@@ -1,165 +1,174 @@
1
1
  import { sleep } from "@digital-alchemy/core";
2
+ import { subscribe } from "diagnostics_channel";
2
3
  import { AREA_REGISTRY_UPDATED } from "../helpers/index.mjs";
3
4
  import { hassTestRunner, INTERNAL_MESSAGE } from "../mock_assistant/index.mjs";
4
- describe("Area", () => {
5
- const EXAMPLE_AREA = {
6
- area_id: "empty_area",
7
- floor_id: null,
8
- icon: null,
9
- labels: [],
10
- name: "Empty Area",
11
- picture: null,
12
- };
13
- afterEach(async () => {
14
- await hassTestRunner.teardown();
15
- vi.restoreAllMocks();
5
+ const EXAMPLE_AREA = {
6
+ area_id: "empty_area",
7
+ floor_id: null,
8
+ icon: null,
9
+ labels: [],
10
+ name: "Empty Area",
11
+ picture: null,
12
+ };
13
+ afterEach(async () => {
14
+ await hassTestRunner.teardown();
15
+ vi.restoreAllMocks();
16
+ });
17
+ describe("Lifecycle", () => {
18
+ it("should force values to be available before ready", async () => {
19
+ expect.assertions(1);
20
+ const app = await hassTestRunner.run(({ mock_assistant, lifecycle, hass }) => {
21
+ const spy = vi.fn();
22
+ mock_assistant.socket.connection.on(INTERNAL_MESSAGE, spy);
23
+ lifecycle.onReady(async () => {
24
+ await hass.area.list();
25
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({ type: "config/area_registry/list" }));
26
+ }, -1);
27
+ });
28
+ await app.teardown();
16
29
  });
17
- describe("Lifecycle", () => {
18
- it("should force values to be available before ready", async () => {
30
+ });
31
+ describe("API", () => {
32
+ describe("Formatting", () => {
33
+ it("should call list properly", async () => {
19
34
  expect.assertions(1);
20
- const app = await hassTestRunner.run(({ mock_assistant, lifecycle, hass }) => {
21
- const spy = vi.fn();
22
- mock_assistant.socket.connection.on(INTERNAL_MESSAGE, spy);
35
+ await hassTestRunner.run(({ lifecycle, hass }) => {
36
+ const spy = vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => []);
23
37
  lifecycle.onReady(async () => {
24
38
  await hass.area.list();
25
39
  expect(spy).toHaveBeenCalledWith(expect.objectContaining({ type: "config/area_registry/list" }));
26
- }, -1);
40
+ });
27
41
  });
28
- await app.teardown();
29
42
  });
30
- });
31
- describe("API", () => {
32
- describe("Formatting", () => {
33
- it("should call list properly", async () => {
34
- expect.assertions(1);
35
- await hassTestRunner.run(({ lifecycle, hass }) => {
36
- const spy = vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => []);
37
- lifecycle.onReady(async () => {
38
- await hass.area.list();
39
- expect(spy).toHaveBeenCalledWith(expect.objectContaining({ type: "config/area_registry/list" }));
43
+ it("should call update properly", async () => {
44
+ expect.assertions(1);
45
+ await hassTestRunner.run(({ lifecycle, hass, event }) => {
46
+ const spy = vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
47
+ lifecycle.onReady(async () => {
48
+ setImmediate(() => event.emit(AREA_REGISTRY_UPDATED));
49
+ await hass.area.update(EXAMPLE_AREA);
50
+ expect(spy).toHaveBeenCalledWith({
51
+ type: "config/area_registry/update",
52
+ ...EXAMPLE_AREA,
40
53
  });
41
54
  });
42
55
  });
43
- it("should call update properly", async () => {
44
- expect.assertions(1);
45
- await hassTestRunner.run(({ lifecycle, hass, event }) => {
46
- const spy = vi
47
- .spyOn(hass.socket, "sendMessage")
48
- .mockImplementation(async () => undefined);
49
- lifecycle.onReady(async () => {
50
- setImmediate(() => event.emit(AREA_REGISTRY_UPDATED));
51
- await hass.area.update(EXAMPLE_AREA);
52
- expect(spy).toHaveBeenCalledWith({
53
- type: "config/area_registry/update",
54
- ...EXAMPLE_AREA,
55
- });
56
+ });
57
+ it("should debounce updates properly", async () => {
58
+ expect.assertions(1);
59
+ await hassTestRunner.run(({ lifecycle, hass }) => {
60
+ vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
61
+ let counter = 0;
62
+ hass.events.onAreaRegistryUpdate(() => counter++);
63
+ lifecycle.onReady(async () => {
64
+ setImmediate(async () => {
65
+ hass.socket.socketEvents.emit("area_registry_updated");
66
+ await sleep(5);
67
+ hass.socket.socketEvents.emit("area_registry_updated");
68
+ await sleep(5);
69
+ hass.socket.socketEvents.emit("area_registry_updated");
70
+ await sleep(75);
71
+ hass.socket.socketEvents.emit("area_registry_updated");
56
72
  });
73
+ await sleep(200);
74
+ expect(counter).toBe(2);
57
75
  });
58
76
  });
59
- it("should debounce updates properly", async () => {
60
- expect.assertions(1);
61
- await hassTestRunner.run(({ lifecycle, hass }) => {
62
- vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
63
- let counter = 0;
64
- hass.events.onAreaRegistryUpdate(() => counter++);
65
- lifecycle.onReady(async () => {
66
- setImmediate(async () => {
67
- hass.socket.socketEvents.emit("area_registry_updated");
68
- await sleep(5);
69
- hass.socket.socketEvents.emit("area_registry_updated");
70
- await sleep(5);
71
- hass.socket.socketEvents.emit("area_registry_updated");
72
- await sleep(75);
73
- hass.socket.socketEvents.emit("area_registry_updated");
74
- });
75
- await sleep(200);
76
- expect(counter).toBe(2);
77
+ });
78
+ it("should publish diagnostics on area registry update", async () => {
79
+ expect.assertions(1);
80
+ hassTestRunner.configure({ hass: { EMIT_DIAGNOSTICS: true } });
81
+ await hassTestRunner.run(({ lifecycle, hass }) => {
82
+ vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
83
+ const spy = vi.fn();
84
+ subscribe(hass.diagnostics.area.registry_update.name, spy);
85
+ lifecycle.onReady(async () => {
86
+ setImmediate(async () => {
87
+ hass.socket.socketEvents.emit("area_registry_updated");
77
88
  });
89
+ await sleep(100);
90
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({ ms: expect.any(Number) }), hass.diagnostics.area.registry_update.name);
78
91
  });
79
92
  });
80
- it("should call delete properly", async () => {
81
- expect.assertions(1);
82
- await hassTestRunner.run(({ lifecycle, hass, event }) => {
83
- const spy = vi
84
- .spyOn(hass.socket, "sendMessage")
85
- .mockImplementation(async () => undefined);
86
- lifecycle.onReady(async () => {
87
- setImmediate(() => event.emit(AREA_REGISTRY_UPDATED));
88
- await hass.area.delete(EXAMPLE_AREA.area_id);
89
- expect(spy).toHaveBeenCalledWith({
90
- area_id: "empty_area",
91
- type: "config/area_registry/delete",
92
- });
93
+ });
94
+ it("should call delete properly", async () => {
95
+ expect.assertions(1);
96
+ await hassTestRunner.run(({ lifecycle, hass, event }) => {
97
+ const spy = vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
98
+ lifecycle.onReady(async () => {
99
+ setImmediate(() => event.emit(AREA_REGISTRY_UPDATED));
100
+ await hass.area.delete(EXAMPLE_AREA.area_id);
101
+ expect(spy).toHaveBeenCalledWith({
102
+ area_id: "empty_area",
103
+ type: "config/area_registry/delete",
93
104
  });
94
105
  });
95
106
  });
96
- it("should call create properly", async () => {
97
- expect.assertions(1);
98
- await hassTestRunner.run(({ lifecycle, hass, event }) => {
99
- const spy = vi
100
- .spyOn(hass.socket, "sendMessage")
101
- .mockImplementation(async () => undefined);
102
- lifecycle.onReady(async () => {
103
- setImmediate(() => event.emit(AREA_REGISTRY_UPDATED));
104
- await hass.area.create(EXAMPLE_AREA);
105
- expect(spy).toHaveBeenCalledWith({
106
- type: "config/area_registry/create",
107
- ...EXAMPLE_AREA,
108
- });
107
+ });
108
+ it("should call create properly", async () => {
109
+ expect.assertions(1);
110
+ await hassTestRunner.run(({ lifecycle, hass, event }) => {
111
+ const spy = vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
112
+ lifecycle.onReady(async () => {
113
+ setImmediate(() => event.emit(AREA_REGISTRY_UPDATED));
114
+ await hass.area.create(EXAMPLE_AREA);
115
+ expect(spy).toHaveBeenCalledWith({
116
+ type: "config/area_registry/create",
117
+ ...EXAMPLE_AREA,
109
118
  });
110
119
  });
111
120
  });
112
121
  });
113
- describe("Order of operations", () => {
114
- it("should wait for an update before returning when updating", async () => {
115
- expect.assertions(1);
116
- await hassTestRunner.run(({ lifecycle, hass, event }) => {
117
- vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
118
- lifecycle.onReady(async () => {
119
- const response = hass.area.update(EXAMPLE_AREA);
120
- let order = "";
121
- setTimeout(() => {
122
- order += "a";
123
- event.emit(AREA_REGISTRY_UPDATED);
124
- }, 5);
125
- await response;
126
- order += "b";
127
- expect(order).toEqual("ab");
128
- });
122
+ });
123
+ describe("Order of operations", () => {
124
+ it("should wait for an update before returning when updating", async () => {
125
+ expect.assertions(1);
126
+ await hassTestRunner.run(({ lifecycle, hass, event }) => {
127
+ vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
128
+ lifecycle.onReady(async () => {
129
+ const response = hass.area.update(EXAMPLE_AREA);
130
+ let order = "";
131
+ setTimeout(() => {
132
+ order += "a";
133
+ event.emit(AREA_REGISTRY_UPDATED);
134
+ }, 5);
135
+ await response;
136
+ order += "b";
137
+ expect(order).toEqual("ab");
129
138
  });
130
139
  });
131
- it("should wait for an update before returning when deleting", async () => {
132
- expect.assertions(1);
133
- await hassTestRunner.run(({ lifecycle, hass, event }) => {
134
- vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
135
- lifecycle.onReady(async () => {
136
- const response = hass.area.delete("example_area");
137
- let order = "";
138
- setTimeout(() => {
139
- order += "a";
140
- event.emit(AREA_REGISTRY_UPDATED);
141
- }, 5);
142
- await response;
143
- order += "b";
144
- expect(order).toEqual("ab");
145
- });
140
+ });
141
+ it("should wait for an update before returning when deleting", async () => {
142
+ expect.assertions(1);
143
+ await hassTestRunner.run(({ lifecycle, hass, event }) => {
144
+ vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
145
+ lifecycle.onReady(async () => {
146
+ const response = hass.area.delete("example_area");
147
+ let order = "";
148
+ setTimeout(() => {
149
+ order += "a";
150
+ event.emit(AREA_REGISTRY_UPDATED);
151
+ }, 5);
152
+ await response;
153
+ order += "b";
154
+ expect(order).toEqual("ab");
146
155
  });
147
156
  });
148
- it("should wait for an update before returning when creating", async () => {
149
- expect.assertions(1);
150
- await hassTestRunner.run(({ lifecycle, hass, event }) => {
151
- vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
152
- lifecycle.onReady(async () => {
153
- const response = hass.area.create(EXAMPLE_AREA);
154
- let order = "";
155
- setTimeout(() => {
156
- order += "a";
157
- event.emit(AREA_REGISTRY_UPDATED);
158
- }, 5);
159
- await response;
160
- order += "b";
161
- expect(order).toEqual("ab");
162
- });
157
+ });
158
+ it("should wait for an update before returning when creating", async () => {
159
+ expect.assertions(1);
160
+ await hassTestRunner.run(({ lifecycle, hass, event }) => {
161
+ vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
162
+ lifecycle.onReady(async () => {
163
+ const response = hass.area.create(EXAMPLE_AREA);
164
+ let order = "";
165
+ setTimeout(() => {
166
+ order += "a";
167
+ event.emit(AREA_REGISTRY_UPDATED);
168
+ }, 5);
169
+ await response;
170
+ order += "b";
171
+ expect(order).toEqual("ab");
163
172
  });
164
173
  });
165
174
  });
@@ -1 +1 @@
1
- {"version":3,"file":"area.spec.mjs","sourceRoot":"","sources":["../../src/testing/area.spec.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAe,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/E,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,YAAuB;QAChC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;KACC,CAAC;IAEjB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC;QAChC,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAErB,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC3E,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpB,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;gBAC3D,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;oBAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAC9B,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAC/D,CAAC;gBACJ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;gBACzC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;oBAC/C,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpF,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;wBAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACvB,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAC9B,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAC/D,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;gBAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBACtD,MAAM,GAAG,GAAG,EAAE;yBACX,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;yBACjC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC7C,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;wBAC3B,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;wBACtD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAErC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;4BAC/B,IAAI,EAAE,6BAA6B;4BACnC,GAAG,YAAY;yBAChB,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;gBAChD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;oBAC/C,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC/E,IAAI,OAAO,GAAG,CAAC,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClD,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;wBAC3B,YAAY,CAAC,KAAK,IAAI,EAAE;4BACtB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;4BACvD,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;4BACf,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;4BACvD,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;4BACf,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;4BACvD,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;4BAChB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;wBACzD,CAAC,CAAC,CAAC;wBACH,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;wBACjB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;gBAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAErB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBACtD,MAAM,GAAG,GAAG,EAAE;yBACX,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;yBACjC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC7C,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;wBAC3B,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;wBACtD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;wBAE7C,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;4BAC/B,OAAO,EAAE,YAAY;4BACrB,IAAI,EAAE,6BAA6B;yBACpC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;gBAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBACtD,MAAM,GAAG,GAAG,EAAE;yBACX,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;yBACjC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC7C,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;wBAC3B,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;wBACtD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAErC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;4BAC/B,IAAI,EAAE,6BAA6B;4BACnC,GAAG,YAAY;yBAChB,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACnC,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACxE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBACtD,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC/E,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;wBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAChD,IAAI,KAAK,GAAG,EAAE,CAAC;wBACf,UAAU,CAAC,GAAG,EAAE;4BACd,KAAK,IAAI,GAAG,CAAC;4BACb,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;wBACpC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACN,MAAM,QAAQ,CAAC;wBACf,KAAK,IAAI,GAAG,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACxE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBACtD,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC/E,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;wBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAyB,CAAC,CAAC;wBAC7D,IAAI,KAAK,GAAG,EAAE,CAAC;wBACf,UAAU,CAAC,GAAG,EAAE;4BACd,KAAK,IAAI,GAAG,CAAC;4BACb,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;wBACpC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACN,MAAM,QAAQ,CAAC;wBACf,KAAK,IAAI,GAAG,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACxE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBACtD,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC/E,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;wBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAChD,IAAI,KAAK,GAAG,EAAE,CAAC;wBACf,UAAU,CAAC,GAAG,EAAE;4BACd,KAAK,IAAI,GAAG,CAAC;4BACb,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;wBACpC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACN,MAAM,QAAQ,CAAC;wBACf,KAAK,IAAI,GAAG,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"area.spec.mjs","sourceRoot":"","sources":["../../src/testing/area.spec.mts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { subscribe } from "node:diagnostics_channel";
1
2
  import { sleep } from "@digital-alchemy/core";
2
3
  import { hassTestRunner } from "../mock_assistant/index.mjs";
3
4
  describe("Device", () => {
@@ -75,5 +76,21 @@ describe("Device", () => {
75
76
  });
76
77
  });
77
78
  });
79
+ it("should publish diagnostics on device registry update", async () => {
80
+ expect.assertions(1);
81
+ hassTestRunner.configure({ hass: { EMIT_DIAGNOSTICS: true } });
82
+ await hassTestRunner.run(({ lifecycle, hass }) => {
83
+ vi.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
84
+ const spy = vi.fn();
85
+ subscribe(hass.diagnostics.device.registry_update.name, spy);
86
+ lifecycle.onReady(async () => {
87
+ setImmediate(async () => {
88
+ hass.socket.socketEvents.emit("device_registry_updated");
89
+ });
90
+ await sleep(100);
91
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({ ms: expect.any(Number) }), hass.diagnostics.device.registry_update.name);
92
+ });
93
+ });
94
+ });
78
95
  });
79
96
  //# sourceMappingURL=device.spec.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.spec.mjs","sourceRoot":"","sources":["../../src/testing/device.spec.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.spec.mjs","sourceRoot":"","sources":["../../src/testing/device.spec.mts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { subscribe } from "node:diagnostics_channel";
1
2
  import { sleep } from "@digital-alchemy/core";
3
+ import dayjs from "dayjs";
2
4
  import { hassTestRunner } from "../mock_assistant/index.mjs";
3
5
  describe("Entity", () => {
4
6
  afterEach(async () => {
@@ -146,5 +148,170 @@ describe("Entity", () => {
146
148
  });
147
149
  });
148
150
  });
151
+ describe("Diagnostics", () => {
152
+ it("should publish diagnostics on history lookup", async () => {
153
+ expect.assertions(2);
154
+ await hassTestRunner
155
+ .configure({
156
+ hass: { EMIT_DIAGNOSTICS: true },
157
+ })
158
+ .run(({ lifecycle, hass }) => {
159
+ const spy = vi.fn();
160
+ subscribe(hass.diagnostics.entity.history_lookup.name, spy);
161
+ // Mock the socket response
162
+ const sendMessageSpy = vi.spyOn(hass.socket, "sendMessage").mockResolvedValue({
163
+ "sensor.magic": [
164
+ {
165
+ entity_id: "sensor.magic",
166
+ last_changed: "2024-01-01T00:00:00Z",
167
+ last_updated: "2024-01-01T00:00:00Z",
168
+ state: "test",
169
+ },
170
+ ],
171
+ });
172
+ lifecycle.onReady(async () => {
173
+ const now = new Date();
174
+ await hass.entity.history({
175
+ end_time: now.toISOString(),
176
+ entity_ids: ["sensor.magic"],
177
+ start_time: new Date(now.getTime() - 3600000).toISOString(), // 1 hour ago
178
+ });
179
+ expect(sendMessageSpy).toHaveBeenCalledWith(expect.objectContaining({
180
+ entity_ids: ["sensor.magic"],
181
+ type: "history/history_during_period",
182
+ }));
183
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({
184
+ ms: expect.any(Number),
185
+ payload: expect.objectContaining({
186
+ entity_ids: ["sensor.magic"],
187
+ }),
188
+ result: expect.objectContaining({
189
+ "sensor.magic": expect.arrayContaining([
190
+ expect.objectContaining({
191
+ entity_id: "sensor.magic",
192
+ state: "test",
193
+ }),
194
+ ]),
195
+ }),
196
+ }), hass.diagnostics.entity.history_lookup.name);
197
+ });
198
+ });
199
+ });
200
+ it("should publish diagnostics on refresh entities", async () => {
201
+ expect.assertions(1);
202
+ await hassTestRunner
203
+ .configure({
204
+ hass: { EMIT_DIAGNOSTICS: true },
205
+ })
206
+ .run(({ lifecycle, hass }) => {
207
+ const spy = vi.fn();
208
+ subscribe(hass.diagnostics.entity.refresh_entities.name, spy);
209
+ lifecycle.onReady(async () => {
210
+ await hass.entity.refresh();
211
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({
212
+ emitUpdates: [],
213
+ }), hass.diagnostics.entity.refresh_entities.name);
214
+ });
215
+ });
216
+ });
217
+ it("should publish diagnostics on entity update", async () => {
218
+ expect.assertions(1);
219
+ await hassTestRunner
220
+ .configure({
221
+ hass: { EMIT_DIAGNOSTICS: true },
222
+ })
223
+ .run(({ lifecycle, hass, mock_assistant }) => {
224
+ const spy = vi.fn();
225
+ subscribe(hass.diagnostics.entity.entity_updated.name, spy);
226
+ lifecycle.onReady(async () => {
227
+ await mock_assistant.events.emitEntityUpdate("sensor.magic", {
228
+ state: "test",
229
+ });
230
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({
231
+ entity_id: "sensor.magic",
232
+ new_state: expect.objectContaining({
233
+ entity_id: "sensor.magic",
234
+ state: "test",
235
+ }),
236
+ old_state: expect.objectContaining({
237
+ entity_id: "sensor.magic",
238
+ state: "unavailable",
239
+ }),
240
+ }), hass.diagnostics.entity.entity_updated.name);
241
+ });
242
+ });
243
+ });
244
+ it("should publish diagnostics on entity remove", async () => {
245
+ expect.assertions(1);
246
+ await hassTestRunner
247
+ .configure({
248
+ hass: { EMIT_DIAGNOSTICS: true },
249
+ })
250
+ .run(({ lifecycle, hass }) => {
251
+ const spy = vi.fn();
252
+ subscribe(hass.diagnostics.entity.entity_remove.name, spy);
253
+ lifecycle.onReady(async () => {
254
+ // Directly call _entityUpdateReceiver with null new_state to trigger entity remove
255
+ hass.entity._entityUpdateReceiver("sensor.magic", null, {
256
+ attributes: {
257
+ friendly_name: "magic",
258
+ icon: "mdi:satellite-uplink",
259
+ restored: true,
260
+ supported_features: 0,
261
+ },
262
+ context: {
263
+ id: "test",
264
+ parent_id: null,
265
+ user_id: null,
266
+ },
267
+ entity_id: "sensor.magic",
268
+ last_changed: dayjs("2024-01-01T00:00:00Z"),
269
+ last_reported: dayjs("2024-01-01T00:00:00Z"),
270
+ last_updated: dayjs("2024-01-01T00:00:00Z"),
271
+ state: "test",
272
+ });
273
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({
274
+ entity_id: "sensor.magic",
275
+ }), hass.diagnostics.entity.entity_remove.name);
276
+ });
277
+ });
278
+ });
279
+ it("should publish diagnostics on entity add", async () => {
280
+ expect.assertions(1);
281
+ await hassTestRunner
282
+ .configure({
283
+ hass: { EMIT_DIAGNOSTICS: true },
284
+ })
285
+ .run(({ lifecycle, hass }) => {
286
+ const spy = vi.fn();
287
+ subscribe(hass.diagnostics.entity.entity_add.name, spy);
288
+ lifecycle.onReady(async () => {
289
+ // Call _entityUpdateReceiver with null old_state to trigger entity add
290
+ const newState = {
291
+ attributes: {
292
+ friendly_name: "magic",
293
+ icon: "mdi:satellite-uplink",
294
+ restored: true,
295
+ supported_features: 0,
296
+ },
297
+ context: {
298
+ id: "test",
299
+ parent_id: null,
300
+ user_id: null,
301
+ },
302
+ entity_id: "sensor.magic",
303
+ last_changed: dayjs("2024-01-01T00:00:00Z"),
304
+ last_reported: dayjs("2024-01-01T00:00:00Z"),
305
+ last_updated: dayjs("2024-01-01T00:00:00Z"),
306
+ state: "test",
307
+ };
308
+ hass.entity._entityUpdateReceiver("sensor.magic", newState, null);
309
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({
310
+ entity_id: "sensor.magic",
311
+ }), hass.diagnostics.entity.entity_add.name);
312
+ });
313
+ });
314
+ });
315
+ });
149
316
  });
150
317
  //# sourceMappingURL=entity.spec.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.spec.mjs","sourceRoot":"","sources":["../../src/testing/entity.spec.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.spec.mjs","sourceRoot":"","sources":["../../src/testing/entity.spec.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};