Fix remaining pre-existing ty diagnostics in test files

Completes the isinstance/cast narrowing + Optional-field assert pattern
across the last batch of test files. custom_components and tests are
now both fully clean under ruff check, ruff format --check, and ty check.
This commit is contained in:
Marc Billow
2026-08-03 00:14:58 +00:00
parent 36a642135b
commit 679c3d2bce
5 changed files with 41 additions and 12 deletions
+7 -1
View File
@@ -13,8 +13,14 @@ def test_capability_defaults():
def test_capability_is_frozen():
c = Capability(href="/kidslock/vs/0", entities=())
# setattr(), not `c.href = ...` -- `href` is a read-only property to the
# type checker (frozen dataclass field), so a literal attribute
# assignment doesn't type-check; setattr's signature is untyped enough
# to accept it, and it still goes through the same frozen __setattr__
# at runtime, so this is still a faithful test of the frozen guarantee.
attr_name = "href"
try:
setattr(c, "href", "/other/vs/0")
setattr(c, attr_name, "/other/vs/0")
except Exception:
return
raise AssertionError("expected frozen dataclass")