tests: add type annotations to Smart tests (#1686)
Some checks are pending
CI / Perform Lint Checks (3.14) (push) Waiting to run
CI / Python 3.11 on macos-latest (push) Blocked by required conditions
CI / Python 3.12 on macos-latest (push) Blocked by required conditions
CI / Python 3.13 on macos-latest (push) Blocked by required conditions
CI / Python 3.14 on macos-latest (push) Blocked by required conditions
CI / Python 3.11 on ubuntu-latest (push) Blocked by required conditions
CI / Python 3.12 on ubuntu-latest (push) Blocked by required conditions
CI / Python 3.13 on ubuntu-latest (push) Blocked by required conditions
CI / Python 3.14 on ubuntu-latest (push) Blocked by required conditions
CI / Python 3.11 on windows-latest (push) Blocked by required conditions
CI / Python 3.12 on windows-latest (push) Blocked by required conditions
CI / Python 3.13 on windows-latest (push) Blocked by required conditions
CI / Python 3.14 on windows-latest (push) Blocked by required conditions
CodeQL Checks / Analyze (python) (push) Waiting to run

Add type annotations across all 'smart' tests, enabling mypy to check test function bodies, catching type errors that were previously hidden.
This commit is contained in:
ZeliardM
2026-07-07 18:11:59 -04:00
committed by GitHub
parent 8840fc395e
commit 88e1c27bd0
30 changed files with 192 additions and 125 deletions

View File

@@ -2,7 +2,7 @@ from __future__ import annotations
import asyncio
import logging
from contextlib import nullcontext
from contextlib import AbstractContextManager, nullcontext
from datetime import date
from typing import TypedDict
@@ -31,9 +31,14 @@ firmware = parametrize(
],
)
async def test_firmware_features(
dev: SmartDevice, feature, prop_name, type, required_version, mocker: MockerFixture
):
"""Test light effect."""
dev: SmartDevice,
feature: str,
prop_name: str,
type: type,
required_version: int,
mocker: MockerFixture,
) -> None:
"""Test firmware features."""
fw = dev.modules.get(Module.Firmware)
assert fw
assert fw.firmware_update_info is None
@@ -54,7 +59,7 @@ async def test_firmware_features(
@firmware
async def test_firmware_update_info(dev: SmartDevice):
async def test_firmware_update_info(dev: SmartDevice) -> None:
"""Test that the firmware UpdateInfo object deserializes correctly."""
fw = dev.modules.get(Module.Firmware)
assert fw
@@ -68,7 +73,7 @@ async def test_firmware_update_info(dev: SmartDevice):
@firmware
async def test_update_available_without_cloud(dev: SmartDevice):
async def test_update_available_without_cloud(dev: SmartDevice) -> None:
"""Test that update_available returns None when disconnected."""
fw = dev.modules.get(Module.Firmware)
assert fw
@@ -95,9 +100,9 @@ async def test_firmware_update(
dev: SmartDevice,
mocker: MockerFixture,
caplog: pytest.LogCaptureFixture,
update_available,
expected_result,
):
update_available: bool,
expected_result: AbstractContextManager,
) -> None:
"""Test updating firmware."""
caplog.set_level(logging.INFO)