Marc Billow
1b8e8368ca
Type-check the test suite, not just the component
...
CI runs `ty check custom_components tests`; the identity work was only
checked against `custom_components`, so eighteen diagnostics in the new
tests went unnoticed until the PR run.
Two shapes, both in the new files. `dev_reg.async_get` and
`ent_reg.async_get` return `... | None`, so chaining an attribute off them
is both a type error and, on the failure it exists to catch, an
AttributeError instead of the assertion that would say what went wrong --
replaced with `_device_identifiers`/`_entity_unique_id` helpers that assert
the row survived and return the field. And `_identity`'s `**kwargs`
dict-merge erased the field types it was constructing; spelling the three
optional fields out is clearer anyway.
No behaviour change; the full suite and the thirteen-mutation sweep still
pass.
2026-08-17 05:24:23 +00:00
..
2026-08-15 21:38:56 +00:00
2026-08-17 05:24:23 +00:00
2026-06-30 16:32:37 -05:00
2026-08-09 00:58:26 +00:00
2026-08-02 23:56:38 +00:00
2026-08-03 00:03:08 +00:00
2026-08-03 00:03:08 +00:00
2026-08-02 23:56:38 +00:00
2026-08-15 01:01:49 +00:00
2026-08-17 05:24:22 +00:00
2026-08-04 14:44:54 +09:00
2026-08-09 00:37:09 +00:00
2026-08-03 00:14:58 +00:00
2026-08-02 23:56:38 +00:00
2026-08-17 05:24:22 +00:00
2026-08-15 00:23:53 +00:00
2026-08-15 20:05:58 +00:00
2026-08-17 05:24:22 +00:00
2026-08-07 16:38:09 +00:00
2026-08-15 21:38:56 +00:00
2026-08-03 19:07:03 +00:00
2026-08-17 05:24:22 +00:00
2026-08-07 16:38:09 +00:00
2026-08-04 14:47:42 +09:00
2026-08-02 23:56:38 +00:00
2026-08-03 00:03:08 +00:00
2026-08-03 00:14:58 +00:00
2026-08-17 05:24:22 +00:00
2026-08-03 19:22:06 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-16 05:25:36 +00:00
2026-08-10 10:16:00 +00:00
2026-08-03 00:03:08 +00:00
2026-08-02 23:56:38 +00:00
2026-08-14 18:43:44 +00:00
2026-08-02 23:56:38 +00:00
2026-08-09 16:25:12 +00:00
2026-08-02 23:56:38 +00:00
2026-08-03 18:59:22 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-15 01:40:56 +00:00
2026-08-12 15:25:54 +00:00
2026-08-03 19:38:57 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-04 14:47:42 +09:00
2026-08-17 05:24:22 +00:00
2026-08-15 20:05:58 +00:00
2026-08-02 23:56:38 +00:00
2026-08-17 05:24:22 +00:00
2026-08-02 23:56:38 +00:00
2026-08-07 15:52:46 +00:00
2026-08-09 21:46:29 +00:00
2026-08-17 05:24:23 +00:00
2026-08-04 14:47:42 +09:00
2026-08-12 15:25:54 +00:00
2026-08-03 00:14:58 +00:00
2026-08-08 19:49:25 +00:00
2026-08-03 00:03:08 +00:00
2026-08-02 23:56:38 +00:00
2026-08-15 01:40:56 +00:00
2026-08-03 00:03:08 +00:00
2026-08-07 15:52:46 +00:00
2026-08-03 00:11:05 +00:00
2026-08-02 23:56:38 +00:00
2026-08-17 05:24:22 +00:00
2026-08-03 00:03:08 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-09 00:58:26 +00:00
2026-08-17 05:24:22 +00:00
2026-08-07 15:52:46 +00:00
2026-08-09 01:25:23 +00:00
2026-08-09 01:25:23 +00:00
2026-08-09 01:25:23 +00:00
2026-08-02 23:56:38 +00:00
2026-08-02 23:56:38 +00:00
2026-08-17 05:24:22 +00:00
2026-08-10 03:16:07 +00:00
2026-08-17 05:24:22 +00:00
2026-08-15 00:23:53 +00:00
2026-08-17 05:24:22 +00:00
2026-08-17 05:24:22 +00:00
2026-08-17 05:24:22 +00:00
2026-08-14 18:43:44 +00:00
2026-08-15 01:01:49 +00:00
2026-08-17 05:24:22 +00:00
2026-08-10 15:23:43 +09:00
2026-08-10 16:33:39 +00:00
2026-08-16 04:19:04 +00:00
2026-08-15 20:05:58 +00:00
2026-08-12 15:25:54 +00:00
2026-08-17 05:24:22 +00:00
2026-08-02 23:56:38 +00:00