Improve type hints in blackbird tests (#119262)

This commit is contained in:
epenet 2024-06-10 08:39:24 +02:00 committed by GitHub
parent d4baad62ef
commit 733e563500
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -12,7 +12,10 @@ from homeassistant.components.blackbird.media_player import (
PLATFORM_SCHEMA,
setup_platform,
)
from homeassistant.components.media_player import MediaPlayerEntityFeature
from homeassistant.components.media_player import (
MediaPlayerEntity,
MediaPlayerEntityFeature,
)
from homeassistant.const import STATE_OFF, STATE_ON
from homeassistant.core import HomeAssistant
@ -166,13 +169,13 @@ def test_invalid_schemas() -> None:
@pytest.fixture
def mock_blackbird():
def mock_blackbird() -> MockBlackbird:
"""Return a mock blackbird instance."""
return MockBlackbird()
@pytest.fixture
async def setup_blackbird(hass, mock_blackbird):
async def setup_blackbird(hass: HomeAssistant, mock_blackbird: MockBlackbird) -> None:
"""Set up blackbird."""
with mock.patch(
"homeassistant.components.blackbird.media_player.get_blackbird",
@ -198,7 +201,9 @@ async def setup_blackbird(hass, mock_blackbird):
@pytest.fixture
def media_player_entity(hass, setup_blackbird):
def media_player_entity(
hass: HomeAssistant, setup_blackbird: None
) -> MediaPlayerEntity:
"""Return the media player entity."""
media_player = hass.data[DATA_BLACKBIRD]["/dev/ttyUSB0-3"]
media_player.hass = hass
@ -206,7 +211,8 @@ def media_player_entity(hass, setup_blackbird):
return media_player
async def test_setup_platform(hass: HomeAssistant, setup_blackbird) -> None:
@pytest.mark.usefixtures("setup_blackbird")
async def test_setup_platform(hass: HomeAssistant) -> None:
"""Test setting up platform."""
# One service must be registered
assert hass.services.has_service(DOMAIN, SERVICE_SETALLZONES)
@ -215,7 +221,9 @@ async def test_setup_platform(hass: HomeAssistant, setup_blackbird) -> None:
async def test_setallzones_service_call_with_entity_id(
hass: HomeAssistant, media_player_entity, mock_blackbird
hass: HomeAssistant,
media_player_entity: MediaPlayerEntity,
mock_blackbird: MockBlackbird,
) -> None:
"""Test set all zone source service call with entity id."""
await hass.async_add_executor_job(media_player_entity.update)
@ -238,7 +246,9 @@ async def test_setallzones_service_call_with_entity_id(
async def test_setallzones_service_call_without_entity_id(
mock_blackbird, hass: HomeAssistant, media_player_entity
mock_blackbird: MockBlackbird,
hass: HomeAssistant,
media_player_entity: MediaPlayerEntity,
) -> None:
"""Test set all zone source service call without entity id."""
await hass.async_add_executor_job(media_player_entity.update)
@ -257,7 +267,9 @@ async def test_setallzones_service_call_without_entity_id(
assert media_player_entity.source == "three"
async def test_update(hass: HomeAssistant, media_player_entity) -> None:
async def test_update(
hass: HomeAssistant, media_player_entity: MediaPlayerEntity
) -> None:
"""Test updating values from blackbird."""
assert media_player_entity.state is None
assert media_player_entity.source is None
@ -268,12 +280,16 @@ async def test_update(hass: HomeAssistant, media_player_entity) -> None:
assert media_player_entity.source == "one"
async def test_name(media_player_entity) -> None:
async def test_name(media_player_entity: MediaPlayerEntity) -> None:
"""Test name property."""
assert media_player_entity.name == "Zone name"
async def test_state(hass: HomeAssistant, media_player_entity, mock_blackbird) -> None:
async def test_state(
hass: HomeAssistant,
media_player_entity: MediaPlayerEntity,
mock_blackbird: MockBlackbird,
) -> None:
"""Test state property."""
assert media_player_entity.state is None
@ -285,7 +301,7 @@ async def test_state(hass: HomeAssistant, media_player_entity, mock_blackbird) -
assert media_player_entity.state == STATE_OFF
async def test_supported_features(media_player_entity) -> None:
async def test_supported_features(media_player_entity: MediaPlayerEntity) -> None:
"""Test supported features property."""
assert (
media_player_entity.supported_features
@ -295,28 +311,34 @@ async def test_supported_features(media_player_entity) -> None:
)
async def test_source(hass: HomeAssistant, media_player_entity) -> None:
async def test_source(
hass: HomeAssistant, media_player_entity: MediaPlayerEntity
) -> None:
"""Test source property."""
assert media_player_entity.source is None
await hass.async_add_executor_job(media_player_entity.update)
assert media_player_entity.source == "one"
async def test_media_title(hass: HomeAssistant, media_player_entity) -> None:
async def test_media_title(
hass: HomeAssistant, media_player_entity: MediaPlayerEntity
) -> None:
"""Test media title property."""
assert media_player_entity.media_title is None
await hass.async_add_executor_job(media_player_entity.update)
assert media_player_entity.media_title == "one"
async def test_source_list(media_player_entity) -> None:
async def test_source_list(media_player_entity: MediaPlayerEntity) -> None:
"""Test source list property."""
# Note, the list is sorted!
assert media_player_entity.source_list == ["one", "two", "three"]
async def test_select_source(
hass: HomeAssistant, media_player_entity, mock_blackbird
hass: HomeAssistant,
media_player_entity: MediaPlayerEntity,
mock_blackbird: MockBlackbird,
) -> None:
"""Test source selection methods."""
await hass.async_add_executor_job(media_player_entity.update)
@ -336,7 +358,9 @@ async def test_select_source(
async def test_turn_on(
hass: HomeAssistant, media_player_entity, mock_blackbird
hass: HomeAssistant,
media_player_entity: MediaPlayerEntity,
mock_blackbird: MockBlackbird,
) -> None:
"""Testing turning on the zone."""
mock_blackbird.zones[3].power = False
@ -350,7 +374,9 @@ async def test_turn_on(
async def test_turn_off(
hass: HomeAssistant, media_player_entity, mock_blackbird
hass: HomeAssistant,
media_player_entity: MediaPlayerEntity,
mock_blackbird: MockBlackbird,
) -> None:
"""Testing turning off the zone."""
mock_blackbird.zones[3].power = True